
Evolutionäres Verschlüsselungsframework basierend auf skalierbarer Komplexität im Laufe der Zeit

Mit Fokus auf den Schutz hochsensibler Daten ist temcrypt ein fortschrittlicher, mehrschichtiger, evolutionärer Verschlüsselungsmechanismus, der im Laufe der Zeit skalierbare Komplexität bietet und resistent gegen gängige Brute-Force-Angriffe ist.
Sie können Ihre eigenen Anwendungen, Skripte und Automatisierungen erstellen, wenn Sie es einsetzen.
Erfahren Sie, wofür temcrypt steht, welche Funktionen und Inspirationen mich zu seiner Erstellung bewogen haben und vieles mehr. LESEN SIE DAS KNOWLEDGE-DOKUMENT. Dies ist sehr wichtig für Sie.
temcrypt ist kompatibel mit Node.js v18 oder höher sowie modernen Webbrowsern, sodass Sie es in verschiedenen Umgebungen einsetzen können.
Die einzigen Abhängigkeiten, die temcrypt verwendet, sind crypto-js für die Handhabung von Verschlüsselungsalgorithmen wie AES-256, SHA-256 und einige Encoder, und fs wird für die Dateiverwaltung mit Node.js verwendet.
Um temcrypt zu verwenden, müssen Sie Node.js installiert haben. Dann können Sie temcrypt mit npm installieren:
npm install temcrypt
danach importieren Sie es wie folgt in Ihren Code:
const temcrypt = require("temcrypt");
Enthält eine Auto-Install-Funktion für seine Abhängigkeiten, sodass Sie sich keine Gedanken über die manuelle Installation machen müssen. Führen Sie einfach die Bibliothek temcrypt.js aus, und die Abhängigkeiten werden automatisch installiert. Rufen Sie sie dann in Ihrem Code auf. Dies wurde zur Portabilität gemacht:
node temcrypt.js
Alternativ können Sie temcrypt direkt im Browser verwenden, indem Sie das folgende script-Tag einfügen:
<script src="temcrypt.js"></script>
oder minimiert:
<script src="temcrypt.min.js"></script>
Sie können die Bibliothek auch auf Ihrer Website oder Webanwendung von einem CDN aus aufrufen:
<script src="https://cdn.jsdelivr.net/gh/jofpin/temcrypt/temcrypt.min.js"></script>
temcrypt bietet Funktionen wie encrypt und decrypt, um Ihre Daten sicher zu schützen und offenzulegen.
Parameter
dataString (string): Die zu verschlüsselnden Zeichenkettendaten.dataFiles (string): Der Dateipfad zur Verschlüsselung. Geben Sie entweder dataString oder dataFiles an.mainKey (string): Der Hauptschlüssel (privat) für die Verschlüsselung.extraBytes (number, optional): Zusätzliche Bytes, die zur Verschlüsselung hinzugefügt werden. Dies ist ein optionaler Parameter im temcrypt-Verschlüsselungsprozess. Er ermöglicht es Ihnen, zusätzliche Bytes zu den verschlüsselten Daten hinzuzufügen, was die Komplexität der Verschlüsselung erhöht und mehr Rechenleistung zum Entschlüsseln erfordert. Es dient auch dazu, Muster zu verlieren, indem das Gewicht der Verschlüsselung geändert wird.Rückgabewerte
status (boolean): true zeigt erfolgreiche Entschlüsselung an.hash (string): Der eindeutige Hash, der zur Überprüfung der Legitimität der verschlüsselten Daten generiert wurde.dataString (string) oder dataFiles: Die entschlüsselte Zeichenkette oder der Dateipfad der entschlüsselten Datei, abhängig von der Eingabe.updatedEncryptedData (string): Die aktualisierten verschlüsselten Daten nach der Entschlüsselung. Jedes Mal, wenn die Verschlüsselung entschlüsselt wird, wird die Ausgabe aktualisiert, da sich die Reihenfolge des Hauptschlüssels ändert und das neue Datum der letzten Entschlüsselung gespeichert wird.creationDate (string): Das Erstellungsdatum der verschlüsselten Daten.lastDecryptionDate (string): Das Datum der letzten erfolgreichen Entschlüsselung der Daten.dataString angegeben ist:
hash (): Der eindeutige Hash, der zur Überprüfung der Legitimität der verschlüsselten Daten generiert wurde.Hier sind einige Beispiele zur Verwendung von temcrypt. Bitte beachten Sie, dass Sie beim Verschlüsseln einen Schlüssel eingeben und die Stunde und Minute speichern müssen, zu der Sie die Informationen verschlüsselt haben. Um die Informationen zu entschlüsseln, müssen Sie denselben Hauptschlüssel zur gleichen Stunde und Minute an den folgenden Tagen verwenden:
const dataToEncrypt = "Sensitive data";
const mainKey = "your_secret_key"; // Insert your custom key
const encryptedData = temcrypt.encrypt({
dataString: dataToEncrypt,
mainKey: mainKey
});
console.log(encryptedData);
const encryptedData = "..."; // Encrypted data obtained from the encryption process
const mainKey = "your_secret_key";
const decryptedData = temcrypt.decrypt({
dataString: encryptedData,
mainKey: mainKey
});
console.log(decryptedData);
Verschlüsseln einer Datei:
Um eine Datei mit temcrypt zu verschlüsseln, können Sie die Funktion encrypt mit dem Parameter dataFiles verwenden. Hier ist ein Beispiel, wie Sie eine Datei verschlüsseln und das Verschlüsselungsergebnis erhalten:
const temcrypt = require("temcrypt");
const filePath = "path/test.txt";
const mainKey = "your_secret_key";
const result = temcrypt.encrypt({
dataFiles: filePath,
mainKey: mainKey,
extraBytes: 128 // Optional: Add 128 extra bytes
});
console.log(result);
In diesem Beispiel ersetzen Sie 'test.txt' durch den tatsächlichen Pfad zu der Datei, die Sie verschlüsseln möchten, und setzen Sie 'your_secret_key' als Hauptschlüssel für die Verschlüsselung. Das Objekt result enthält die Verschlüsselungsdetails, einschließlich des eindeutigen Hashs, des Hauptschlüssels, des Zeitschlüssels und des Dateipfads der verschlüsselten Datei.
Entschlüsseln einer Datei:
Um eine Datei zu entschlüsseln, die zuvor mit temcrypt verschlüsselt wurde, können Sie die Funktion decrypt mit dem Parameter dataFiles verwenden. Hier ist ein Beispiel, wie Sie eine Datei entschlüsseln und das Entschlüsselungsergebnis erhalten:
const temcrypt = require("temcrypt");
const filePath = "path/test.txt.trypt";
const mainKey = "your_secret_key";
const result = temcrypt.decrypt({
dataFiles: filePath,
mainKey: mainKey
});
console.log(result);
In diesem Beispiel ersetzen Sie 'path/test.txt.trypt' durch den tatsächlichen Pfad zur verschlüsselten Datei und setzen Sie 'your_secret_key' als Hauptschlüssel für die Entschlüsselung. Das Ergebnisobjekt enthält den Entschlüsselungsstatus und die entschlüsselten Daten, falls erfolgreich.
Denken Sie daran, den richtigen Hauptschlüssel anzugeben, der während der Verschlüsselung verwendet wurde, um die Datei erfolgreich zur genau gleichen Stunde und Minute zu entschlüsseln, zu der sie verschlüsselt wurde. Wenn der Hauptschlüssel falsch ist, die Datei manipuliert wurde oder die Uhrzeit nicht stimmt, wird der Entschlüsselungsstatus false sein und die entschlüsselten Daten stehen nicht zur Verfügung.
temcrypt bietet utils-Funktionen, um zusätzliche Operationen über die Ver- und Entschlüsselung hinaus durchzuführen. Diese Hilfsfunktionen sollen die Funktionalität und Benutzerfreundlichkeit verbessern.
Funktionsliste:
Im Folgenden sehen Sie die Details und wie Sie die Verwendung implementieren.
Hauptschlüssel aktualisieren:
Die Hilfsfunktion changeKey ermöglicht es Ihnen, den zum Verschlüsseln der Daten verwendeten Hauptschlüssel zu ändern, während die verschlüsselten Daten intakt bleiben. Dies ist nützlich, wenn Sie die Sicherheit Ihrer verschlüsselten Daten verbessern oder den Hauptschlüssel regelmäßig aktualisieren möchten.
dataFiles (optional): Der Pfad zu der mit temcrypt verschlüsselten Datei.dataString (optional): Die mit temcrypt generierte verschlüsselte Zeichenkette.mainKey (string): Der aktuelle Hauptschlüssel, der zum Verschlüsseln der Daten verwendet wurde.newKey(string): Der neue Hauptschlüssel, der den aktuellen Hauptschlüssel ersetzt.const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const currentMainKey = "my_recent_secret_key";
const newMainKey = "new_recent_secret_key";
// Update mainKey for the encrypted file
const result = temcrypt.utils({
changeKey: {
dataFiles: filePath,
mainKey: currentMainKey,
newKey: newMainKey
}
});
console.log(result.message);
Datenintegrität prüfen:
Die Hilfsfunktion check ermöglicht es Ihnen, die Integrität der mit temcrypt verschlüsselten Daten zu überprüfen. Sie prüft, ob eine Datei oder eine Zeichenkette gültige temcrypt-verschlüsselte Daten sind.
dataFiles (optional): Der Pfad zu der Datei, die Sie überprüfen möchten.dataString (optional): Die verschlüsselte Zeichenkette, die Sie überprüfen möchten.const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const encryptedString = "..."; // Encrypted string generated by temcrypt
// Check the integrity of the encrypted File
const result = temcrypt.utils({
check: {
dataFiles: filePath
}
});
console.log(result.message);
// Check the integrity of the encrypted String
const result2 = temcrypt.utils({
check: {
dataString: encryptedString
}
});
console.log(result2.message);
Hash verifizieren:
Die Hilfsfunktion verify ermöglicht es Ihnen, die Integrität verschlüsselter Daten mithilfe ihres Hash-Werts zu überprüfen. Sie prüft, ob die verschlüsselte Datenausgabe mit dem angegebenen Hash-Wert übereinstimmt.
hash (string): Der Hash-Wert, der überprüft werden soll.dataFiles (optional): Der Pfad zu der Datei, deren Hash Sie überprüfen möchten.dataString (optional): Die verschlüsselte Zeichenkette, deren Hash Sie überprüfen möchten.const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const hashToVerify = "..."; // The hash value to verify
// Verify the hash of the encrypted File
const result = temcrypt.utils({
verify: {
hash: hashToVerify,
dataFiles: filePath
}
});
console.log(result.message);
// Verify the hash of the encrypted String
const result2 = temcrypt.utils({
verify: {
hash: hashToVerify,
dataString: encryptedString
}
});
console.log(result2.message);
Die folgende Tabelle zeigt die wichtigsten Fehlercodes und die entsprechenden Fehlermeldungen, die von temcrypt verwendet werden, um verschiedene Fehlerszenarien anzuzeigen.
Schauen Sie sich das Verzeichnis examples für detailliertere Nutzungsbeispiele an.
⚠️ EMPFEHLUNG
Die Verschlüsselungsgröße einer Zeichenkette oder Datei sollte weniger als 16 KB (Kilobyte) betragen. Wenn sie größer ist, müssen Sie genügend Rechenleistung haben, um sie zu entschlüsseln. Andernfalls wird Ihr persönlicher Computer die erforderliche Zeit überschreiten, um die richtige Hauptschlüsselkombination und die korrekte Verschlüsselungsformation zu finden, und kann die Informationen nicht entschlüsseln.
ℹ️ TIPPS
- Mit temcrypt können Sie Ihre Informationen an späteren Tagen nur mit dem Schlüssel entschlüsseln, den Sie zur gleichen Stunde und Minute eingegeben haben, zu der Sie verschlüsselt haben.
- Achten Sie auf die Zeit. Es wird empfohlen, die Entschlüsselung in den ersten 2 bis 10 Sekunden zu starten, damit Sie einen Vorteil haben, um die korrekte Schlüsselformation zu erzeugen.
Der Inhalt dieses Projekts selbst ist lizenziert unter der Creative Commons Attribution 3.0 Lizenz, und der zugrunde liegende Quellcode, der zur Formatierung und Anzeige des Inhalts verwendet wird, ist unter der MIT-Lizenz lizenziert.
Copyright (c) 2023 von Jose Pino
mainKey (string): Der Hauptschlüssel (privat), der für die Verschlüsselung verwendet wurde.timeKey (string): Der Zeitschlüssel (privat) der Verschlüsselung.dataString (string): Die verschlüsselte Zeichenkette.extraBytes (number, optional): Die zusätzlichen Bytes, die für die Verschlüsselung verwendet wurden.dataFiles angegeben ist:
hash (string): Der eindeutige Hash, der zur Überprüfung der Legitimität der verschlüsselten Daten generiert wurde.mainKey (string): Der Hauptschlüssel, der für die Verschlüsselung verwendet wurde.timeKey (string): Der Zeitschlüssel der Verschlüsselung.dataFiles (string): Der Dateipfad der verschlüsselten Datei.extraBytes (number, optional): Die zusätzlichen Bytes, die für die Verschlüsselung verwendet wurden.status (boolean): false zeigt einen Fehler bei der Entschlüsselung an.error_code (number): Ein Fehlercode, der den Grund für den Fehler angibt.message (string): Eine beschreibende Fehlermeldung, die den Fehler erklärt.| Code | Fehlermeldung | Beschreibung |
|---|
| 420 | Zeitlimit für die Entschlüsselung überschritten | Der Entschlüsselungsvorgang dauerte länger als das erlaubte Zeitlimit. |
| 444 | Entschlüsselung fehlgeschlagen | Beim Entschlüsselungsvorgang ist ein Fehler aufgetreten. |
| 777 | Keine Daten bereitgestellt | Es wurden keine Daten für den Vorgang bereitgestellt. |
| 859 | Ungültiger temcrypt-verschlüsselter String | Der angegebene String ist kein gültiger temcrypt-verschlüsselter String. |