suk*_*vir 0 c encryption cryptography block-cipher
好吧,在你们训斥我之前:我知道这是一个可怕的代码和超级微弱的密码.我只是试图找出以下是否有资格成为分组密码(即使是非常简陋和弱的密码)
int main(){
int mac = 123;
int key = 789;
int enc = mac^key;
printf("encrypted text = %d\n",enc);
int plain = enc^key;
printf("decrypted text = %d\n",plain);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
encrypted text = 878
decrypted text = 123
Run Code Online (Sandbox Code Playgroud)
为了创建分组密码,必须遵循某些通用性.您显示的代码在技术上不是分组密码.一般性如:
分组密码模式(ECB,CBC)中的加密使用特定流程:
imablock
.密码的选择取决于实现.
关键是,虽然您可能已遵循加密 - 解密的流程,但您的程序不满足分组密码的一般性.您需要将消息分成块以实现对称密码.
什么您已经实现了,就是简单的加密,而不是分组密码.
有很多参考文献:
希望能帮助到你.:)