开发者

Can we make our own S-Boxes, IP, IP~, And other tables in DES? Will it Still Work or should be use what they've provided?

开发者 https://www.devze.com 2023-02-16 00:55 出处:网络
I\'m trying to construct a DES implementation of my own! But i\'m not successful with the implementation

I'm trying to construct a DES implementation of my own! But i'm not successful with the implementation

I use All the tables like Initail permutation, Expansion Permutation table, Permutat开发者_如何学编程ion function table, PC-1, PC-2 and all the s-boxes of my own random bit positions .

Should we use the S-Boxes provided by DES or we can create on our own??


The first rule of cryptography: never ever invent anything yourself! Unless you have a PhD and years of experience, you will end up creating gaping security holes. As a matter of fact, history shows that even people with a PhD and years of experience often make security mistakes. Sure, you can do it for fun and educational experience, but please do not ever consider putting anything of it into production. Sorry for being so negative, but this is the reality (and, for the record, I am also a person who should never ever invent anything cryptography-related myself).

When it comes to implementation of something invented by a true security expert (and generally accepted as being secure), there are still many traps to walk into, in particular side-channel attacks. But again, implementing it for fun and learning is of course a good thing.

When it comes to DES specifically, the contents of the S-boxes is a part of the algorithm itself and can not be changed without also losing compatibility with all other DES-encrypted data.


DES without its original S-Boxes would likely be insecure. BTW NSA enhanced them making them more resistant to differential cryptanalysis, which was unknown to the civilian world at the time.

OTOH if you want user generated S-Boxes you could use the Russian cipher GOST 28147-89 (14.1 in Applied Cryptography) which uses user supplied S-Boxes.

0

精彩评论

暂无评论...
验证码 换一张
取 消