`

SHA-512

 
阅读更多
SHA-512:是SHA-2中安全性能较高的算法,主要由明文填充,消息扩展函数变换和随机数变换等部分组成,初始值和中间计算结果由8个64位的移位寄存器组成.该算法允许输入的最大长度是2的128次方位,并产生一个512位的消息摘要,输入消息被分成若干个1024位的块进行处理

具体参数为:
1.消息摘要长度为512位;
2.消息长度小于2的128次方位
3.消息字大小为64位
4.步骤数为80步

算法描述:
1.消息填充:填充一个"1"和若干个"0",使其长度模1024与896同余,填充位数为0-1023,填充前消息的长度以一个128位的字段附加到填充消息的后面,其值为填充前消息的长度
2.链接变量初始化:链接变量的中间结果和最终结果都存储于512位的缓冲区中,缓冲区用8个64位的寄存器A,B,C,D,E,F,G,H表示.初始链接变量也存储于8个寄存器A,B,C,D,E,F,G,H中
A:0x6a09e667f3bcc908
...
初始链接变量采用big-endian方式存储,即字的最高有效字节存储于低地址位置.初始链接变量取自前8个素数的平方根的小数部分其二进制表示的前64位.
3.主循环操作:以1024位的分组为单位对消息进行处理,要进行80步循环操作.每一次迭代都把512位缓冲区的值A,B,C,D,E,F,G,H作为输入,其值取自上一次迭代压缩的计算结果,每一步计算均采用了不同的消息字和常数
4.计算最终的Hash值:消息的所有N个1024位的分组都处理完毕之后,第N次迭代压缩输出的512位链接变量即为最终的Hash值
分享到:
评论

相关推荐

    SHA-512 加密解密

    using (var sha512 = SHA512.Create()) { byte[] hashBytes = sha512.ComputeHash(Encoding.UTF8.GetBytes(input)); return Convert.ToBase64String(hashBytes); } } ``` 此函数接收一个字符串,将其转换为字节...

    SHA-224/SHA-256/SHA-384/SHA-512摘要算法-C语言

    C语言实现SHA-224/SHA-256/SHA-384/SHA-512摘要算法。编译环境:VS2010。请参考我的博客: SHA-224:https://blog.csdn.net/u013073067/article/details/86605223 SHA-256:...

    SHA常用算法实现(SHA-1, SHA256, SHA384, SHA512)

    - sha512.c:SHA-512算法的实现源代码。 - demo.c:一个演示如何调用上述算法的示例程序。 通过编译和运行这个示例程序,用户可以测试这些算法,将任意输入数据转换为相应的SHA散列值。这些算法的C语言实现对于理解...

    SHA-512加密算法的实现

    在提供的"SHA512"压缩包文件中,可能包含了一个实现SHA-512算法的程序或库,可以方便开发者在自己的项目中快速集成和使用SHA-512算法。这样的工具对于进行数据完整性检查、密码处理或者数字签名等功能的开发非常有用...

    SHA-512.zip_SHA_SHA 512 code_SHA-512_sha 512

    hash_object = hashlib.sha512(message.encode('utf-8')) hex_dig = hash_object.hexdigest() print("SHA-512 Hash:", hex_dig) ``` 在提供的压缩包文件"SHA-512.zip"中,可能包含了一个或多个实现SHA-512算法的...

    SHA-256 SHA-512 函数

    SHA-256 SHA-512函数,不可逆散列加密数

    sha-512.rar_SHA c语言_SHA-512_sha512 C++_sha512 C语言_sha512 cmodul

    在"sha-512.cpp"文件中,我们可以期待看到一个名为`sha512`的函数,它接受一个字符数组(代表输入消息)和一个长度值,然后返回一个表示散列值的字符数组。函数内部可能包含上述的初始化、处理消息块、终止和生成...

    windows校验MD5, SHA-1, SHA-256 & SHA-512工具

    在Windows操作系统中,我们可以使用各种工具来验证文件的MD5、SHA-1、SHA-256以及SHA-512哈希值,这些哈希算法都是用来生成文件唯一数字指纹的方法。 标题提到的"windows校验MD5, SHA-1, SHA-256 & SHA-512工具"是...

    SHA-512的一种verilogHDL实现

    SHA-512的一种verilogHDL实现,包括testbench,quartusII可综合。SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是...

    FIPS 180-2 散列算法SHA-224、SHA-256、SHA-384 和 SHA-512 的C语言快速软件实施

    描述中提到的"SHA-224、SHA-256、SHA-384 和 SHA-512"是FIPS 180-2中定义的一组安全散列算法,统称为SHA-2(Secure Hash Algorithm 2)。这些算法分别产生224、256、384和512位的散列值,它们比SHA-1更加强壮,因为...

    SHA-512模块.zip

    SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) ... 另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计: SHA-224, SHA-256, SHA-384 和 SHA-512 (这些有时候也被称做 SHA-2):

    SHA.zip_sha-512 delphi

    标题“SHA.zip_sha-512 delphi”指的是一个与SHA-512散列算法相关的Delphi编程项目。这个项目包含了一系列的源代码文件,是用于教学和学习如何在Delphi环境中实现SHA-512加密算法的实例。SHA-512是一种广泛使用的...

    vs2010下的SHA-512

    SHA-512是一种安全散列算法,全称为Secure Hash Algorithm 512位版本,是SHA-2家族的一部分。该算法主要用于数据完整性验证和数字签名,确保信息在传输或存储过程中未被篡改。在VS2010环境下开发SHA-512相关的项目,...

    SHA.zip_encrypt delphi_sha-512 delphi

    SHA家族包括SHA-1、SHA-2和SHA-3等多个版本,其中SHA-512是SHA-2家族中的一个成员,提供了更大的哈希值,因此安全性能更高。 标题中的"SHA.zip_encrypt delphi_sha-512 delphi"意味着这个压缩包包含了一个使用...

    MD5 SHA-512.zip

    MD5和SHA-512是两种常见的哈希函数,它们在信息技术领域中扮演着重要的角色,主要用于数据完整性校验和安全验证。哈希函数,也称为散列函数,是一种将任意长度的数据转换为固定长度输出的算法。这种转换使得原始数据...

    C#实现字符串SHA-512加密算法工程下载

    2. 创建SHA512实例:`SHA512 sha512 = new SHA512Managed();` 3. 准备要加密的字符串,将其转换为字节数组:`byte[] inputBytes = Encoding.UTF8.GetBytes(inputString);` 4. 使用SHA512算法计算哈希值:`byte[] ...

    Java&Android; SHA1、SHA-512、SHA-384等加密算法

    Java&Android; SHA1、SHA-512、SHA-384等加密算法工具类

    MD5 SHA-512

    public class SHA512Example { public static String getSHA512(String input) { try { MessageDigest md = MessageDigest.getInstance("SHA-512"); byte[] messageDigest = md.digest(input.getBytes()); ...

    Hash算法 MD2, MD5, SHA-1, SHA-256, SHA-384, or SHA-512

    实现多种Hash算法,包括MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512

Global site tag (gtag.js) - Google Analytics