資料結構和演算法 最簡單的加密演算法

2021-09-12 11:13:19 字數 582 閱讀 5662

異或

[資料結構和演算法]crc8/crc16/crc32常見幾個標準的演算法及c語言實現

異或是最簡單的加密運算,把a和b異或後得到c,其中c就是加密之後的資料,我們可以將c與a或b再進行異或即可得到b或a。利用異或的這個特性可簡單實現資料的加密和解密演算法。

#include #include #define uint8_t unsigned char

#define uint16_t unsigned short

const uint8_t key="hello world!";

void encrypt(uint8_t *srctxt, uint16_t len, uint8_t *rettxt){

for(uint16_t i=0;i執行結果如下圖:

這是最簡單的加密方式,同時異或還用在更加安全的對稱或非對稱加密演算法中,以及常用的crc資料校驗中。

最安全的加密演算法

在密碼學裡,有一種理想的加密方案,叫做一次一密亂碼本 one time pad one time pad的演算法有以下要求 1 金鑰必須隨機產生 2 金鑰不能重複使用 3 金鑰和密文的長度是一樣的。one time pad是最安全的加密演算法,雙方一旦安全交換了金鑰,之後交換資訊的過程就是絕對安全的...

加密演算法簡單概述

基本過程就是對原來為明文的檔案或資料按某種演算法進行處理,使其成為不可讀的一段 通常稱為 密 文 使其只能在輸入相應的金鑰之後才能顯示出本來內容,通過這樣的途徑來達到保護資料不被非法人竊取 閱讀 的目的。該過程的逆過程為解密,即將該編碼資訊轉化為其原來資料的過程。功能 對稱 symmetric 演算...

對稱加密演算法和非對稱加密演算法的區別

1.對稱加密演算法加密和解密使用的金鑰的是相同的,也就是只有乙個金鑰,而非對稱加密演算法有兩個金鑰,也就是加密和解密所使用的金鑰是不同的 2.各自演算法不同 3.對稱加密演算法加密速度快 相對的 非對稱演算法,金鑰成對生成,公鑰對外發布,但是對大資料的加解密速度比對稱演算法慢。4.還有就是安全性不同...