1. 程式人生 > >關於DES加密

關於DES加密

免除 安全 常見 應用 操作 sts 一個 sgx 開發

數據加密算法(Data Encryption Algorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中,最初開發的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權,但是在1983年已到期後,處於公有範圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。 DES的原始思想可以參照二戰德國的恩格瑪機,其基本思想大致相同。傳統的密碼加密都是由古代的循環移位思想而來,恩格瑪機在這個基礎之上進行了擴散模糊。但是本質原理都是一樣的。現代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度。 DES的加密原理,是使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產生最大 64 位的分組大小。這是一個叠代的分組密碼,使用稱為 Feistel 的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環功能,然後將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續下去,但最後一個循環不交換。DES 使用 16 個循環,使用異或,置換,代換,移位操作四種基本運算。 類似於:0xsru1nzfelGJ6Rr8a2tlMh/siMHqSvuPfmmftxP5rs9WcPUNs8c4v6NGvBQgrIeAYWA2CrP5Jnw6LxM9OPNN/TehHn8cWqMYqzGk7fu12a2BQnviIieHYzKW9/O1AJ+kHJPYuSNNRx5djH/KtgKzndvof19AQfpBbI9TL5tkQG/+s6TgjxcNgWMCDof2Ya7RziGENVl7LiUxuLLQoPxWdyU9BOf3Ey1d0RiAcfpfHfeacKo/jDw7RPhhweVTPlEJER6bn1/qhX1sCsZxTWEnPnMbJvDn3trWCVELHikdpM1hCKTRG9XQxI3JI70rAHHJZpQoGF9HvuHB9tBV+BWEaR5buwiT5PpW5fT7ybfC8cs4XhRJgMNeIaQiyWNCHGsEU0gfWNgu2LnhL9VS9QWzeztobdM/OlZVTNzN6eYa+7dvofBRGXsSShr2XHj4DOtNxtdkw/9ZJh2e3jnJTFm6UXheKs0mQ90TA6Isl5R4oQl+qgcKhZYcFiG0Usg7QQgFd7yNH8hUIBZSK8f/uvGOxQIvC3+D91ztzX0jOdb6g1MEu7VZUouM+NUmFYN5lFHUv1e8iB2L2ccORg6Koat3+o7GbdViEEUgAzXJj1ZuqnFmULRgwF6dsTFsSoCXdSXYk2fEtPyinH/zUCsgxMuXMAZdDIKQ6vulIV7fp31oSH7jIvVRnO4+7XZqTSUw5nL9c2P1eWI3WnMFdurPP+gSdfLjWIYngzevl4hc5JAdnvkeGAc/g3lp25ga8JZ52ir1O4ULKBJGsUm9H49646ErOUTu2vpsTSHzDD38kz3UShOzLYgU/WKI8cp499ieuXNbJK+dvhczIm+tIzQxjKoR+2MLbW47HpeO68LKZFbtbLLkOZL50MT+HeZRSUp/SUJUfJcQlK1kK4=當然,這些都是base64編碼。那麽,什麽是base64呢? Base64是網絡上最常見的用於傳輸8Bit字節代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的詳細規範。Base64編碼可用於在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼不僅比較簡短,同時也具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。 比如,編寫一個“123”,得出的結果就是“MTIz”。

關於DES加密