初阶替换式密码与密钥的架构详解
2024-04-03分类:区块链技术 阅读()
区块链上的全部资讯皆属公开,参与区块链的所有人都能够进入区块来浏览交易。也能够制作新的交易。既然如此,是否会有人冒充身份、制作盗用他人比特币的交易呢?
在前一章节的专栏中,说明了数字签名能够预防这样的窜改事件。而数字签名便是以加密技术为基础制作而成。
本次将说明密码的基础。
初阶的替换式密码
如大家所知,密码的资讯内容仅供自己人阅读,他人并无法理解其中意义。将欲传达给对方的资讯原文转换为密码时,若原文的1个文字可对应密码的1个文字,此方式即是替换式密码。
只要发送者与接收者一并采用原文文字与密码文字相呼应的方法,即使在传送的途中被他人看见,也能因替换式密码的原理而免于遭到解读。
此处将制作图1所示的密码作为范例。
上列记有A~Z、空白文字、句点,下列则是随机分配的替换文字。从原文的文字列当中,逐字寻找上列的文字,并写上对应的下列文字。如此一来,「SEND ME MONEY.」的文字列就会变成「EIAVSQISQKAIMF」的字样,令人无法理解其中意义。
接收密码的人,需从密码的文字列当中,逐字寻找下段的文字,并写出对应的上列文字。最后就会变回原文的「SEND ME MONEY.」字样。由于密码表是让密码恢复原文的必要道具,因此被称为解读用的「钥匙」。
如上所述,只要发送者与接收者预先持有「密码表」的钥匙,别人即使看见了该交易,也无法解读其内容。
以电脑实现替换式密码的方法
在电脑系统当中,会将文字逐字分配给数字,称为字元编码。因此,若变更电脑中代表原文的数字序列,即可产生意义不明的密码文字。由于计算公式是电脑最擅长执行的项目,故密码表也是透过公式来运作,而非自行创造表格。
以下将简单举例说明。固定的字元编码如图2所示。此并非密码表,而是电脑中代表文字的数字。 (为了简化计算过程,将每个文字分配给复数的字元编码)此处将以公式变更字元编码来取代密码表。
举例来说,以公式f(x)=ax+b 将原文改变成密码文字。此处替换f(x),并以密码文字x代表原文的文字。也就是将原文的文字乘以a再加上b的公式加以替换。
依此公式将a作为3、b作为6来计算,便可对「SEND ME MONEY.」进行加密,并形成意义不明的「ESRPAOSAOURSWD」文字。接收此文字的电脑,可藉由计算f(x)的反函数f^(-1)(x)=(xb)/a 将密码变回原文。在图2的例子中,加密时同样采用a=3以及b=6,并成功恢复成原文。
在这样的方法中,将a、b的数字作为解读密码的钥匙,并频繁变更a、b的数值,借此让每次传送时都能产生不同的密码文字。
「密钥」方式
在图1、图2所示的密码中,必须先将密码表(图1)与函数、系数a、b(图2)加密。一旦让第三者得知,便会遭到破解。如此事先将密码钥匙对发送者、接收者以外人士进行加密的方式,便被称为密钥密码。
此密钥密码的方式,一旦密钥资讯不慎泄漏,就会产生密码遭到破解的危险。举例来说,若本国的基地在战争中遭到敌军占领,留在该处采用密码钥匙的通信内容便恐泄漏给敌方。另外,由于最初作为钥匙传送给对方的资讯无法加密,因此若有第三者在当时得知内容,就可能破解该密码文字。
如上所述,单纯的替换式密码其实很容易遭到解读。针对构成文章的文字,只要了解统计上的特征,便能就此进行推测。另外,密钥方式也存在着最初传递钥匙时的问题。而在下一章节中,将说明解决以上问题的「公钥密码」。
Tags:
相关文章
标签云
-
Binance OKx 虚拟货币交易所 USDT 模因币 BRC20 TRC20 Staking 虚拟货币 ARB Sol gamefi 小狐狸钱包 DAO web3.0 流动性挖矿 什么是DeFi ICO 什么是NFT 什么是稳定币 SHIB 虚拟货币钱包 加密货币交易所 加密货币 什么是加密货币 GST 资金费率 MAX 区块链技术 区块链投资 区块链是什么 Coinw BingX Gate.io Bitfinex MEXC BITGET BitMEX Kucoin pionex Bybit BitMart KYC 网格交易 LTC Litecoin PI 什么是狗狗币 LUNA USDC