Tekst Versleutelen
Een online tekstversleutelingsgereedschap dat MD5, SHA, AES decryptie en AES encryptie functies biedt.
Het belang van gegevensversleuteling
Gegevensversleuteling kan de gegevensbeveiliging verbeteren, zodat zelfs als de gegevens worden gestolen, hackers de gegevens niet rechtstreeks kunnen benaderen, waardoor het risico op gegevenslekken en -verlies wordt verminderd.
MD5-versleutelingsalgoritme
MD5-versleuteling is een veelgebruikte hashfunctie voor het comprimeren van informatie van elke lengte tot 128 bits (16 bytes) gegevens. Het is ontworpen door de Amerikaanse cryptograaf Ron Rivest in 1991 en is een van de veel gebruikte versleutelingsalgoritmen geworden.
Het kernidee van het MD5-algoritme is om de oorspronkelijke gegevens via meerdere hash-operaties om te zetten in een informatie-digest van vaste lengte. De specifieke stappen zijn als volgt:
Gegevens vullen: vul de oorspronkelijke gegevens aan zodat de lengte voldoet aan 448 modulo 512, dat wil zeggen n * 512 + 448, waarbij n een niet-negatief geheel getal is.
Lengte toevoegen: voeg een 64-bits lengtewaarde toe aan het einde van de gevulde gegevens, waarbij de lengte van de oorspronkelijke gegevens wordt aangegeven. Omdat het MD5-algoritme alleen invoergegevens ondersteunt waarvan de lengte niet groter is dan 2^64, moet de lengtewaarde in 64 bits worden uitgedrukt.
Variabelen initialiseren: definieer vier 32-bits registers A, B, C, D en een 64-bits constantearray T.
Pakketsgegevens verwerken: verdeel de gevulde gegevens in 512-bits pakketten en verwerk één pakket per keer. Voor elke groep worden 4 cycli van rondes uitgevoerd, en elke cyclus omvat 4 stappen: F, G, H, I.
a. F-functie: de drie registers B, C en D worden als invoer gebruikt en er wordt een resultaat van 32 bits gegenereerd na een reeks bitbewerkingen en niet-lineaire functies.
b. G-functie: de drie registers C, D en A worden als invoer gebruikt en er wordt een resultaat van 32 bits gegenereerd na een reeks bitbewerkingen en niet-lineaire functies.
c. H-functie: de drie registers D, A en B worden als invoer gebruikt en er wordt een resultaat van 32 bits gegenereerd na een reeks bitbewerkingen en niet-lineaire functies.
d. I-functie: gebruik de drie registers C, B en A als invoer en produceer een resultaat van 32 bits na een reeks bitbewerkingen en niet-lineaire functies.
Gecombineerde resultaten: de resultaten van de vier registers worden achtereenvolgens samengevoegd om een hashwaarde van 128 bits te verkrijgen.
Via de bovenstaande stappen kan het MD5-algoritme gegevens van elke lengte comprimeren tot een hashwaarde van 128 bits, die onomkeerbaar en uniek is. Daarom wordt MD5-versleuteling veel gebruikt bij gegevensintegriteitscontrole, digitale handtekening, wachtwoordbeveiliging, enz. Omdat het MD5-algoritme echter beveiligingslekken heeft en kwetsbaar is voor botsingsaanvallen en voorafgaande mapping-aanvallen, is het noodzakelijk om een veiliger versleutelingsalgoritme te gebruiken in scenario's met hoge beveiligingseisen.
SHA-encryptie-algoritme
SHA (Secure Hash Algorithm) is een encryptie-algoritme dat gegevens (berichten) van willekeurige lengte kan omzetten in hash-waarden van vaste lengte, en wordt meestal gebruikt om de integriteit en veiligheid van gegevens te waarborgen. Het SHA-algoritme is ontwikkeld door de Amerikaanse National Security Agency (NSA), en er zijn momenteel verschillende versies, waarvan de meer populaire SHA-1, SHA-2 en SHA-3 zijn.
SHA-1 (Secure Hash Algorithm 1) is een van de vroegst gebruikte versies van het SHA-algoritme, dat een bericht van elke lengte omzet in een hash-waarde van 160 bits. SHA-2 omvat vier varianten van SHA-224, SHA-256, SHA-384 en SHA-512, die berichten omzetten in hash-waarden van respectievelijk 224 bits, 256 bits, 384 bits en 512 bits. SHA-3 is de nieuwste versie van het SHA-algoritme, dat berichten omzet in hash-waarden van vaste lengte. In tegenstelling tot SHA-2 is het ontwerp van het SHA-3-algoritme gebaseerd op het Keccak-algoritme.Het encryptieprincipe van het SHA-algoritme kan kort worden samengevat in de volgende stappen:1. Gegevens voorbereiding (Padding): Het SHA-algoritme vult eerst de invoergegevens in om te voldoen aan de eisen van het algoritme. De specifieke invulmethode is gerelateerd aan de algoritmeversie.2. Initieel Hash-waarden: Het SHA-algoritme stelt een vaste initiële hash-waarde in als constante.3. Berichtgroepering: Het SHA-algoritme verdeelt de invoergegevens in meerdere berichtblokken van vaste lengte (512 bits). Na elke berichtblok ondergaat een reeks berekeningen wordt een hash-waarde van 256 bits verkregen.4. Iteratieve berekening van hash-waarde: Het SHA-algoritme gebruikt de hash-waarde van het vorige berichtblok als invoer van het volgende berichtblok, en voert iteratieve berekening uit totdat de hash-waarden van alle berichtblokken zijn berekend.5. Uitvoer: Het SHA-algoritme combineert ten slotte de hash-waarden van alle berichtblokken om een definitieve hash-waarde als uitvoer te genereren.Aangezien de lengte van de hash-waarde van het SHA-algoritme vast en zeer groot is, heeft het SHA-algoritme een hoge beveiliging en onomkeerbaarheid en kan het worden gebruikt voor gegevensintegriteitsverificatie, digitale handtekening en andere beveiligingstoepassingen.
AES-encryptie-algoritme
AES (Advanced Encryption Standard) is een geavanceerde encryptiestandaard, ook bekend als het Rijndael-algoritme, en is een van de meest gebruikte symmetrische encryptie-algoritmen op dit moment. Het AES-encryptie-algoritme gebruikt dezelfde sleutel om gegevens te versleutelen en te ontsleutelen en wordt daarom geclassificeerd als een symmetrisch encryptie-algoritme.
Het principe van AES-encryptie kan kort worden samengevat in de volgende stappen:
1. Sleuteluitbreiding: Het AES-algoritme moet eerst de invoersleutel uitbreiden tot een grote sleutelarray, die wordt gebruikt voor daaropvolgende encryptie- en decryptiebewerkingen.
2. Initial round (Initiële ronde): Het AES-algoritme voert een reeks voorbewerkingen uit op de invoergegevens, waaronder het chunken van de invoergegevens, het toevoegen van ronde-sleutels, byte-substitutie en rijverschuiving.
3. Rounds: Het AES-algoritme gebruikt meerdere rondes van iteraties voor encryptiebewerkingen, en elke ronde van iteraties omvat vier stappen: byte-substitutie, rijverschuiving, kolomverwarring en ronde-sleutels toevoegen.
4. Final Round: Het AES-algoritme voert speciale verwerkingen uit op het laatste gegevensblok, inclusief byte-substitutie, rijverschuiving en ronde-sleuteltoevoeging.
5. Uitvoer: Het AES-algoritme geeft het versleutelde datablok uit als ciphertext, en de ontsleutelbewerking voert de ciphertext in het AES-algoritme in voor ontsleuteling.
In het AES-algoritme zijn de encryptie- en decryptiebewerkingen omkeerbaar, en de versleutelde gegevens kunnen worden ontsleuteld met dezelfde sleutel. Het AES-algoritme biedt drie sleutellengtes: 128 bits, 192 bits en 256 bits. Hoe langer de sleutellengte, hoe hoger de beveiliging van het algoritme.
Het AES-algoritme heeft een hoge beveiliging en efficiëntie en wordt veel gebruikt in verschillende beveiligingsscenario's, zoals versleutelde gegevensoverdracht, versleutelde bestandsopslag, digitale handtekening, enz.
AES-decryptie-algoritme
Het algoritme om AES-gecodeerde data te decoderen is hetzelfde als het versleutelingsalgoritme, behalve dat de sleutel anders wordt gebruikt.
Hier zijn de stappen om AES-gecodeerde data te decoderen met behulp van de sleutel:
1. Haal AES-gecodeerde data en sleutel op.
2. Groepeer sleutels op basis van de sleutellengte, bijvoorbeeld een 128-bits sleutel wordt verdeeld in vier woorden van 32 bits.
3. Bepaal het aantal benodigde rondes op basis van de sleutellengte. Bijvoorbeeld, het gebruik van een 128-bits sleutel vereist 10 rondes, een 192-bits sleutel vereist 12 rondes en een 256-bits sleutel vereist 14 rondes.
4. Gebruik de sleutel om de gecodeerde data te decoderen. Het decoderingsproces omvat meerdere stappen, waarvan de belangrijkste ronde sleuteltoevoeging, byte-substitutie, rijverschuiving en kolomvervaging zijn.
5. Herhaal het decoderingsproces voor meerdere rondes.
6. Voer een laatste ronde decodering uit, maar sla de kolomvervaging stap over.
7. Ten slotte wordt de gedecodeerde data verkregen.
Het moet worden opgemerkt dat de sleutellengte die door het AES-versleutelingsalgoritme wordt gebruikt, 128 bits, 192 bits of 256 bits moet zijn. Daarom moet bij gebruik van het AES-decryptie-algoritme een sleutel met dezelfde lengte als het versleutelingsalgoritme worden gebruikt om de data correct te decoderen.
Bestandsgrootte overschrijdt de limiet.
U kunt geen bestanden meer uploaden.