Blake256算法矿机
1. SHA-256算法是什么
SHA 家族
SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0 以避免与它的后继者混淆。两年之后, SHA-1,第一个 SHA 的后继者发布了。 另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计: SHA-224, SHA-256, SHA-384 和 SHA-512 (这些有时候也被称做 SHA-2)。
SHA-0 和 SHA-1
最初载明的算法于 1993年发布,称做安全散列标准 (Secure Hash Standard),FIPS PUB 180。这个版本现在常被称为 "SHA-0"。它在发布之后很快就被 NSA 撤回,并且以 1995年发布的修订版本 FIPS PUB 180-1 (通常称为 "SHA-1") 取代。根据 NSA 的说法,它修正了一个在原始算法中会降低密码安全性的错误。然而 NSA 并没有提供任何进一步的解释或证明该错误已被修正。1998年,在一次对 SHA-0 的攻击中发现这次攻击并不能适用于 SHA-1 — 我们不知道这是否就是 NSA 所发现的错误,但这或许暗示我们这次修正已经提升了安全性。SHA-1 已经被公众密码社群做了非常严密的检验而还没发现到有不安全的地方,它现在被认为是安全的。
SHA-0 和 SHA-1 会从一个最大 2^64 位元的讯息中产生一串 160 位元的摘要然后以设计 MD4 及 MD5 讯息摘要算法的 MIT 教授 Ronald L. Rivest 类似的原理为基础来加密。
SHA-0 的密码分析
在 CRYPTO 98 上,两位法国研究者展示了一次对 SHA-0 的攻击 (Chabaud and Joux, 1998): 散列碰撞可以复杂到 2^61 时被发现;小于 2^80 是理想的相同大小散列函数。
2004年时,Biham 和 Chen 发现了 SHA-0 的近似碰撞 — 两个讯息可以散列出相同的数值;在这种情况之下,142 和 160 位元是一样的。他们也发现了 SHA-0 在 80 次之后减少到 62 位元的完整碰撞。
2004年8月12日,Joux, Carribault, Lemuet 和 Jalby 宣布了完整 SHA-0 算法的散列碰撞。这是归纳 Chabaud 和 Joux 的攻击所完成的结果。发现这个碰撞要复杂到 2^51, 并且用一台有 256 颗 Itanium2 处理器的超级电脑耗时大约 80,000 CPU 工作时 。
2004年8月17日,在 CRYPTO 2004 的 Rump 会议上,Wang, Feng, Lai, 和 Yu 宣布了攻击 MD5、SHA-0 和其他散列函数的初步结果。他们对 SHA-0 攻击复杂到 2^40,这意味着他们攻击的成果比 Joux 还有其他人所做的更好。该次 Rump 会议的简短摘要可以在 这里找到,而他们在 sci.crypt 的讨论,例如: 这些结果建议计划使用 SHA-1 作为新的密码系统的人需要重新考虑。
更长的变种
NIST 发布了三个额外的 SHA 变体,每个都有更长的讯息摘要。以它们的摘要长度 (以位元计算) 加在原名后面来命名:"SHA-256", "SHA-384" 和 "SHA-512"。它们发布于 2001年的 FIPS PUB 180-2 草稿中,随即通过审查和评论。包含 SHA-1 的 FIPS PUB 180-2,于 2002年以官方标准发布。这些新的散列函数并没有接受像 SHA-1 一样的公众密码社群做详细的检验,所以它们的密码安全性还不被大家广泛的信任。2004年2月,发布了一次 FIPS PUB 180-2 的变更通知,加入了一个额外的变种 "SHA-224",定义了符合双金钥 3DES 所需的金钥长度。
Gilbert 和 Handschuh (2003) 研究了新的变种并且没有发现弱点。
SHAd
SHAd 函数是一个简单的相同 SHA 函数的重述:
SHAd-256(m)=SHA-256(SHA-256(m))。它会克服有关延伸长度攻击的问题。
应用
SHA-1, SHA-224, SHA-256, SHA-384 和 SHA-512 都被需要安全散列算法的美国联邦政府所应用,他们也使用其他的密码算法和协定来保护敏感的未保密资料。FIPS PUB 180-1 也鼓励私人或商业组织使用 SHA-1 加密。Fritz-chip 将很可能使用 SHA-1 散列函数来实现个人电脑上的数位版权管理。
首先推动安全散列算法出版的是已合并的数位签章标准。
SHA 散列函数已被做为 SHACAL 分组密码算法的基础。
SHA-1 的描述
以下是 SHA-1 算法的伪代码:
(Initialize variables:)
a = h0 = 0x67452301
b = h1 = 0xEFCDAB89
c = h2 = 0x98BADCFE
d = h3 = 0x10325476
e = h4 = 0xC3D2E1F0
(Pre-processing:)
paddedmessage = (message) append 1
while length(paddedmessage) mod 512 <> 448:
paddedmessage = paddedmessage append 0
paddedmessage = paddedmessage append (length(message) in 64-bit format)
(Process the message in successive 512-bit chunks:)
while 512-bit chunk(s) remain(s):
break the current chunk into sixteen 32-bit words w(i), 0 <= i <= 15
(Extend the sixteen 32-bit words into eighty 32-bit words:)
for i from 16 to 79:
w(i) = (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16)) leftrotate 1
(Main loop:)
for i from 0 to 79:
temp = (a leftrotate 5) + f(b,c,d) + e + k + w(i) (note: all addition is mod 2^32)
where:
(0 <= i <= 19): f(b,c,d) = (b and c) or ((not b) and d), k = 0x5A827999
(20 <= i <= 39): f(b,c,d) = (b xor c xor d), k = 0x6ED9EBA1
(40 <= i <= 59): f(b,c,d) = (b and c) or (b and d) or (c and d), k = 0x8F1BBCDC
(60 <= i <= 79): f(b,c,d) = (b xor c xor d), k = 0xCA62C1D6
e = d
d = c
c = b leftrotate 30
b = a
a = temp
h0 = h0 + a
h1 = h1 + b
h2 = h2 + c
h3 = h3 + d
h4 = h4 + e
digest = hash = h0 append h1 append h2 append h3 append h4
注意:FIPS PUB 180-1 展示的构想,用以下的公式替代可以增进效能:
(0 <= i <= 19): f(b,c,d) = (d xor (b and (c xor d)))
(40 <= i <= 59): f(b,c,d) = (b and c) or (d and (b or c)))
2. 签名设备不支持所需的哈希算法SHA256是什么意思,要怎么解决
证书签名使用的算法是发布者自己规定的使用自己的私钥对证书编码的哈希值进行加密一般算法为md5withrsa或者sha256withrsa。
哈希算法是唯一的就是把证书编码转换为固定长度的2进制这个过程不可逆就是说无法通过哈希值还原证书编码。
如果是在不行的话可以考虑换一个。
3. 256x101一256简算法
256x101一256
=256x101一256x1
运用乘法分配律
=(101-1)x256
=100x256
=25600
祝学习进步。
4. 存储一副256色像素为640×480的图像需要多少字节,请告诉计算方法
256色像素为640×480的图像大小是307200字节,具体算法如下:
位图就是每个点一个颜色代码,然后这些代码排列出来而已。每个代码就表示相应点的颜色。
256色表示2的8次方种颜色, 因为2的8次方=256,因此以01组合的代码需要8位就可以表示任意的256种颜色之一,比如01000101代表一种颜色,01000110代表另一种颜色。 因为一个存储字节就是8位二进制代码,所以一个点的信息(也就是颜色代码)正好就是一个字节。
640×480分辨率的图片,点的数量有640×480=307200个,每个点的颜色是一个字节,合计就是307200个字节。
(4)Blake256算法矿机扩展阅读:
像素是衡量数码相机的最重要指标:
像素指的是数码相机的分辨率。
它是由相机里的光电传感器上的光敏元件数目所决定的,一个光敏元件就对应一个像素。因此像素越大,意味着光敏元件越多,相应的成本就越大。
数码相机的图像质量部分是由像素决定的,大过一定尺寸再单纯拿像素来比较就没有意义了,主流单反数码相机像素在1000万左右,但是普通摄影及家用500万像素已足够用,因为我。
使用的显示器的分辨率有限,一般为1024×768至1920×1200,这样的分辨率如果显示像素过高的图片时,图片会被压缩至当前屏幕的大小,此时有的图片就会出现锐利度过高的情况而失真。成像质量主要取决于相机的镜头,感光元件大小及质量。
像素越大,照片的分辨率也越大,可打印尺寸也更大。但是,早期的数码相机都是低于100万像素的。
从1999年下半年开始,200万像素的产品渐渐成为市场的主流。(手机普遍都是200万像素,普通数码相机一般都在300万像素以上。)
当前的数码相机的发展趋势,像素宛如PC机的CPU主频,有越来越大的势头。
其实从市场分类角度看,面向普及型的产品,考虑性价比的因素,像素并不是 越大越好。毕竟200万像素的产品,已经能够满足普通消费者的大多数应用。
因 此大多数厂商在高端数码相机追求高像素的同时,当前其产量最大的,仍是面向普 及型的百万像素产品。
顶级专用相机,已有超过1亿像素级的产品。 另外值得消费者注意的是,当前的数码相机产品,在像素标称上分为CCD像素和经软件优化后的像素,后者大大高于前者。
如某品牌流行的数码相机,其CCD像素为230万,而软件优化后的像素可达到330万。
5. 比特币矿机是如何通过计算挖币的
中本聪打造比特币的时候,希望比特币是一个去中心化的货币,不仅使用、交易如此,挖矿也应该如此。但是事与愿违,随着比特币等加密货币的价值越来越高,挖矿成为了一个产业,竞争越来越激烈,对挖矿算力的追求越来越高,所以从普通电脑挖矿,进化出了ASIC矿机与GPU矿机。
用ASIC矿机挖矿的币,算法几乎都为SHA256,而用GPU挖矿的算法则不同,例如BTG的算法是Equihash,BCD的算法是optimized X13。虽然不是绝对,但可以简单的认为,SHA256算法的币,一般都是用ASIC矿机挖。其他算法的币则基本都使用GPU矿机。也有例外,scrypt算法的莱特币以前用GPU矿机挖,但后来scrypt算法也被ASIC芯片攻克,比如蚂蚁矿机L3+,就是用来挖莱特币的ASIC矿机。
ASIC矿机,是指采用ASIC芯片作为算力核心的矿机。其中ASIC是Application Specific Integrated Circuit的缩写,是一种专门为某种特定用途设计的电子电路(芯片)。有矿机厂专门为计算比特币的SHA256算法而设计了ASIC芯片,使用它们的矿机就是ASIC矿机。由于ASIC芯片只为特定计算打造,所以效率可以比CPU这种通用计算芯片要高很多。举个例子,当前主流的蚂蚁矿机S9就是ASIC矿机,使用了189片ASIC芯片,算力达到了13.5TH/s,功耗仅为1350W。作为对比,当前电脑显卡旗舰GTX1080Ti挖比特币的算力,就算优化的好基本也不会超过60MH/s。相差了数万倍,非常悬殊。
而GPU矿机,是指使用GPU显卡作为算力核心的矿机。诸如以太坊、比特币钻石等加密货币用的是图形算法,所以用显卡计算的速度会最高。相对于ASIC矿机,GPU矿机更被大众熟知,因为说白了它就是一台加强了显卡配置的电脑。
GPU矿机的目的是赚钱,所以要追求功耗比与最大收益,所以选择要注重性价比,一般中高端定位的显卡,比如AMD RX560、RX570的功耗比高,是GPU矿机的好选择。而GTX1080Ti、AMD Vega64这样旗舰虽然单卡性能最强,但售价与功耗算下来并不划算。
另外,ASIC矿机也有一些比较奇葩的产品,比如烧猫的USB矿机,是个比U盘略微大一些的东东,功耗也只有2.25W,是目前最小的比特币矿机。
以上引用挖币网—“矿机分类介绍”,专业名词较多,希望对您有帮助,谢谢!
6. 256bit随机数生成算法
string Get256BitRandom()
{
STRING result = \"\";
for(int i=0;i<8;i++)
{
result += (string)RANDOM(int);
}
return result;
}
7. 256-bit AES加密是不是最强的加密算法
AES是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的AES即将作为新标准取代DES。
8. sha256加密算法的证书怎么解密
1.浏览器将自己支持的一套加密规则发送给网站。
2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3.浏览器获得网站证书之后浏览器要做以下工作:
a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
c) 使用约定好的HASH算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4.网站接收浏览器发来的数据之后要做以下的操作:
a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
b) 使用密码加密一段握手消息,发送给浏览器。
5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。