ZRTPCPP

ZRTP 密钥协商协议的 C++ 库
授权协议 GPLv3
开发语言 C/C++
所属分类 程序开发、 加密/解密软件包
软件类型 开源软件
地区 不详
投 递 者 阳建弼
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ZRTPCPP 是一个实现了 ZRTP 密钥协商协议的 C++ 库,该协议主要用 VoIP 通讯。

GNU ZRTP实现符合RFC 6189并添加了更多算法。当前,GNU ZRTP C ++支持以下功能:

  • 多流模式
  • 具有2048和3072位素数的有限域Diffie-Hellman
  • 椭圆曲线Diffie-Hellman,具有256位和384位曲线(NIST曲线)
  • 椭圆曲线Curve25519和Curve3617(Dan Bernstein,Tanja Lange)
  • ZRTP的Skein Hash和MAC
  • AES-128和AES-256对称密码
  • Twofish-128和Twofish-256位对称密码
  • SRTP身份验证方法具有32位和80位长度的HMAC-SHA1和具有32位和64位长度的Skein MAC
  • 具有基数32编码(4个字符)的简短身份验证字符串(SAS)类型和使用单词的SAS 256类型。

不支持某些功能,例如预共享模式,但GNU ZRTP C ++实现为这些增强功能定义了必要的外部接口和功能。

注意:仅当在构建过程中选择了加密独立模式时,椭圆曲线Cure25519和Curve3617才可用。

 相关资料
  • Objective-C允许定义协议,声明预期用于特定情况的方法。 协议在符合协议的类中实现。 一个简单的例子是网络处理类,它将具有一个协议,其中包含委托方法等方法,当网络URL提取操作结束,就会调用类。 协议的语法如下所示 - 关键字下的方法必须在符合协议的类中实现,并且关键字下的方法是可选的。 以下是符合协议的类的语法 - 的任何实例不仅会响应接口中特定声明的方法,而且还会为中的所需方法提供实现

  • Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。 在此,我们将会讨论那些协议及哪些情形应该使用(或避免使用)他们。 本地协议 最基本的就是 本地协议(Local protocol) ,其中的远程版本库就是硬盘内的另一个目录。 这常见于团队每一个成员都对一个共享的文件系统(例如一个挂载的 NFS)拥有访问权,或

  • 协议为方法、属性、以及其他特定的任务需求或功能定义蓝图。协议可被类、结构体、或枚举类型采纳以提供所需功能的具体实现。满足了协议中需求的任意类型都叫做遵循了该协议。 除了指定遵循类型必须实现的要求外,你可以扩展一个协议以实现其中的一些需求或实现一个符合类型的可以利用的附加功能。 协议的语法 定义协议的方式与类、结构体、枚举类型非常相似: protocol SomeProtocol { //

  • 本页包含内容: 协议的语法(Protocol Syntax) 对属性的规定(Property Requirements) 对方法的规定(Method Requirements) 对突变方法的规定(Mutating Method Requirements) 对构造器的规定(Initializer Requirements) 协议类型(Protocols as Types) 委托(代理)模式(Dele

  • 在周星驰的电影《唐伯虎点秋香》中,周星驰饰演的主角一进入华府,就被强制增加了一个代号9527。从此,华府的人开始称呼主角为9527,而不是他的姓名。 域名(domain name)是IP地址的代号。域名通常是由字符构成的。对于人类来说,字符构成的域名,比如www.yahoo.com,要比纯粹数字构成的IP地址(106.10.170.118)容易记忆。域名解析系统(DNS, domain name

  • 对于一个项目,我必须使用一个使用GET动词的API,它必须需要“content-type”属性,但这不是标准的,我希望将该属性设置为“application/json”。 我使用的是C#HttpClient,在整个宇宙中寻找之后,我找不到一种方法来实现它。我总是有个“ProtocolViolationException”,显然... 我在用这个代码 提前致谢:)

  • 协议(Protocols)为方法,属性和其他需求功能提供了蓝图。 它为方法或属性骨架而不是实现。 通过定义类,函数和枚举,可以进一步完成方法和属性的实现。 协议的一致性满足了协议要求的方法或属性。 语法 协议也遵循与类,结构和枚举类似的语法 - 协议在类,结构或枚举类型名称之后声明。 单个和多个协议声明也是可以的。 如果定义了多个协议,则必须用逗号分隔。 当要为超类定义协议时,协议名称应使用逗号跟