In diesem Projekt geht es um eigene Entwicklungen von Zufall, Hash, Ver-/Ent-Schlüsselungen. Es werden konkrete Brauchbarkeitstests durchgeführt. Es werden grafischen Visualisierungen erstellt, die die Methoden veranschaulichen.
Es werden 2 Ver-/Ent-Schlüsselungsalgorithmen entwickelt und getestet. Plagiate sind out. Es wird eine App entwickelt und getestet, die Textarea-Content ver-/entschlüsselen und eine geschützte Web-Seite erstellen kann.
Für die Texte und Passwörter soll die zu erstellende App ein ECMAScript-Objekt var obj= { hash_pw1: ..., hash_pw2: ..., encrypt_ta:..., decrypt_ta: ....} verwenden, das mindestens 2 PW aus unterschiedlichen Kontexten nutzt und sowohl partielle Anteile als auch als Ganzes die Ver-/Entschlüsselungen aufnimmt. Das obj wird in JSON-String transformiert.
Das nachfolgende Projekt wird ein Senden/Empfangen mit AJAX und serverseitiger Speicherung beinhalten. Hier wird lediglich das obj in JSON gewandelt und mit localStorage gespeichert.
Weitere Hinweise für eigene Ideen. crypt-seite-erstellen Mehr in der Veranstaltung.
Die 3sat.de Bionik als Wissenschaft versucht, erfolgreiche Konzepte aus der Evolution mit modernen Medthoden und Techniken innovative zu verknüpfen.
In der Poetik entspricht ein Vers (lateinisch versus, umwenden) einer Reihe metrisch gegliederter Rhythmen. Eine Verschriftung von Rhythmen kann wie eine Struktur beim Ver-/Ent-Schlüsseln betrachtet werden Monometer, Dimeter, Trimeter, Tetrameter, Pentameter, Hexameter, usw. Was ermöglichen andere Sprachen, Alphabete, Metren, usw? Siehe z.B. Sanskrit .
Friedrich Schiller ( im Brief an Goethe vom 24. November 1797 ): Man sollte wirklich alles, was sich über das Gemeine erheben muss, in Versen wenigstens anfänglich konzipieren, denn das Platte kommt nirgends so ins Licht, als wenn es in gebundener Schreibart ausgesprochen wird.
Auf welchen Ebenen kann Ver-/Entschlüsselt werden? Wodurch/Wohinein transformieren und interagieren sichere Methoden? Wie können/werden lyrische Versmaße verwendet?
Studieren bedeutet, sich selbst studieren. sich selbst studieren bedeutet, sich selbst vergessen. Sich selbst vergessen bedeutet, in Harmonie zu sein mit allem, was uns umgibt.
Um eine Welt in einem Sandkorn zu sehen Und einen Himmel in einer Feldblume, Halt Unendlichkeit in deiner flachen Hand Und Ewigkeit in einer Stunde ... Man verführt uns, einer Lüge zu glauben Wenn wir mit dem Auge sehen, nicht durch es hindurch, In einer Nacht wurde es geboren, Um in einer Nacht zu verlöschen, Als die Seele in Lichtstrahlen schlief.
Hat Literatur in irgend einer Weise mit uneinsichtig Verborgenem zu tun? Hat Poetik in irgend einer Weise mit Kryptologie zu tun? Falls ja, wie verbirgt sich dann z.B. im Unicode und Gedicht von William Blake dieses "Vorder-/Hinter-/Tief-Gründige"?
Aus der ägyptischen Mythologie stammt das folgende Beispiel. Die Herrscherin wollte einem fernen König eine geheime Botschaft zukommen lassen. Wie? Hierzu wurde ein Sklave ausgewählt, gewaschen, gekleidet. Dem Sklaven wurden die Haare abgeschnitten und er lernte für unterschiedliche Situationen sein angepasstes Verhalten. Der Arbeitsablauf bei Maniküre beinhaltete eine ästetisch ansprechende Tätovierung von Geheimzeichen auf der Kopfhaut. Nachdem die Haare nachgewachsen und angemessen gestylt waren, wurde der Sklave auf den Weg geschickt. Der Weg zum Ziel kann Umwege, Haltepunkte haben. Der Weg zum Ziel kann unbekannte Gefährdungen, mangelde Orientierung und hoheitliche Kontrollen enthalten. Im Ziel angekommen wurde der Skave gebadet, gekleidet und die Haare geschnitten und vom Herrscher "in-privat-audienz" empfangen. Nach der Audienz "verschwand" der Sklave.
Historische Mythologien können bedingt auch modern interpretiert werden.
Wege bei Datenautobahnen, Geräte-"Hoheiten" und Hardware-"Hoheiten" bei Glasfaserkabeln/Landkabeln/Seekabeln, Internet-based development, Server, Peering-Points, DNS, Big Data , multinational-distibuted Cloud computing , bedarfsgerechte Anmietung und Bezug von Speicherkapazitäten/Rechenleistungen/Anwendungen über das Internet, buckets-containers, Cloud storages "terabytes in size", usw.
Zum ( ursprünglichen ) Internet-Netzgerüst gehören: Backbone, Arpanet, NSFNet-Backbone 1986, MILNET-Netz, dezentralisiertes Routing, NAP = Network Access Point. Zu den Provider-"Hoheiten" und (kommerziellen/staatlichen) Internetdienstanbietern ( ISPs ) gehören Streckenführung, Leitweglenkung, Verkehrsführung ( proprietäre/staatliche Routing-"Hoheiten" ).
Wie baut eine Spinne ein Netz? Der Kinderfilm ( WDR-Maus 2013 ) "Wie baut die Spinne ihr Netz" zeigt den Netz-Aufbau ( Hardware ) durch eine Netztbauerin. Eine Spinne will sich von den im Netz gefangenen Insekten ernähren.
Seit es Menschen gibt, gibt es das "Unzugängliches, Uneinsichtiges, Verborgenes". Dem Menschen werden zahlreiche Attribute zugeschrieben, u.a. "der Mensch ist ein Wesen voller Geheimnisse". Wer kann sich selbst vollständig erkennen? Wie sich selbst im eignen Geheimnis ganz durchschauen? Siehe z.B. Ontologie und Mensch und Sinne .
Für Text-Transformationen und Text-Abbildungen und für Ver-/Entschlüsselungsverfahren gibt es ein vielschichtiges Spektrum von Methoden. Wenn ein Teil der Methoden verborgen bleibt, so können selbst "einfachste und scheinbar abwegige" Methoden innovatives Potential haben. Oft werden die folgenden Zustände unterschieden:
Geheim Vertraulich ↓ … darf nicht nach unten schreiben ↑ … darf nicht von oben lesen Intern Öffentlich
Doch was hat dies mit der Zufall, Hash, Ver-/Ent-Schlüsselungen, Kryptologie und den Client-Server-Technologien zu tun?
Konrad Zuse
:
Nur zu oft ist der Erfinder der faustische Idealist, der die Welt verbessern möchte,
aber an den harten Realitäten scheitert. Will er seine Ideen durchsetzen, muß er sich mit Mächten einlassen,
deren Realitätssinn schärfer und ausgeprägter ist.
In der heutigen Zeit sind solche Mächte, ohne daß ich damit ein Werturteil aussprechen möchte,
vornehmlich Militärs und Manager. […]
Nach meiner Erfahrung sind die Chancen des Einzelnen, sich gegen solches Paktieren zu wehren, gering
Das "Netz" wandelt sich.
Transport-Verschlüssselungen sind von Ressourcen-Verschlüssselungen zu unterscheiden.
Ende-zu-Ende-Verschlüsselungen sind von Punkt-zu-Punkt-Verschlüsselungen zu unterscheiden.
Bei einer Ende-zu-Ende-Verschlüsselung ( E2EE = end-to-end encryption )
werden die verschlüsselten Daten über alle Übertragungsstationen hinweg übertragen
( OpenPGP und S/MIME bei E-Mail, Signal-Protokolle, OTR und OMEMO bei Chat, ZRTP/SRTP ).
Bei der Punkt-zu-Punkt-Verschlüsselung (P2PE = point-to-point encryption)
wird die Übertragungsstrecke ( Teilstrecke ) zwischen zwei Netzkomponenten verschlüsselt.
Siehe z.B. de.wikipedia Session Initiation Protocol , MS Verschlüsselungshierarchie , Security Encryption Overview ( Azure )
Das Internet wandelt sich.
Die "Encrypted Media Extensions" (EME) war seit Jahren eine umkämpfte Technik.
Das Digitale-Rechte-Kontroll-Management (DRM) wird in Hardware und Software offiziell verankert.
Dadurch können Copyright-Ansprüche weltweit und flächendeckend besser durchsetzt werden.
Hier Weblinks zu Heise-Artikel ( 2017 )
Browser-Kopierschutzstandard
,
What s A pp
( Test-Hinter-den-Kulissen ),
Hier w3.org-Weblinks
HTML 5.1
( W3C Recommendation 3 October 2017 ),
HTML 5.2
( W3C Proposed Recommendation, 02 November 2017 ),
WebCryptoAPI
,
ietf.org
RFC7518
Zu einem Web-Cryptography-API gehören Operationen, wie z.B.
encrypt, decrypt, sign, verify, deriveBits, wrapKey, unwrapKey, generateKey, importKey, exportKey, get key length
Algorithm name | encrypt | decrypt | sign | verify | digest | generateKey | deriveKey | deriveBits | importKey | exportKey | wrapKey | unwrapKey |
RSASSA-PKCS1-v1_5 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
RSA-PSS | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
RSA-OAEP | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
ECDSA | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
ECDH | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
AES-CTR | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
AES-CBC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
AES-GCM | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
AES-KW | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
HMAC | ✔ | ✔ | ✔ | ✔ | ✔ | |||||||
SHA-1 | ✔ | |||||||||||
SHA-256 | ✔ | |||||||||||
SHA-384 | ✔ | |||||||||||
SHA-512 | ✔ | |||||||||||
HKDF | ✔ | ✔ | ✔ | |||||||||
PBKDF2 | ✔ | ✔ | ✔ |
"Offensichtlich" scheint in ewiger unentschlüsselbarer Dunkelheit kaum Licht zu sein
und in vollkommer Erhellung kaum methodisch-objektivierbare Dunkelheit.
Es geht u.a. um Self-made Pseudo-Zufallsgeneratoren.
Was ist ein Zufall ( wissenschaftlich betrachtet )?
Demokrit meint etwa:
Epikur und die Quantenmechanik behaupten etwa:
Johann Wolfgang von Goethe schreibt:
Mitmenschliche Kommunikation kann Informationen übertragen. Bei geschützten Kommunikationen haben Dritte keinen Zugang zu den übertragenen Informationen. Ein "abhörsicheres System" möchte die interne/externe Integrität und Konsistenz bewahren und unzulässige Modifikationen der Übertragung verhindern.
Es geht um das Entwickeln, Erstellen und Testen einer App ( Plagiate sind out ). Die zu entwickelnde App
Hans Krailsheimer (1888-1958): "Talente finden Lösungen, Genies entdecken Probleme."
In gewisser Weise können Zufallszahlen das "Unvorhersehbare zufällig simulieren" ( siehe z.B. de.wikipedia Zufallszahlengeneratoren ). Zufallszahlen werden generiert z.B. für:
Strings, Texte, /dev/random als zeichen-orientierte virtuelle Gerätedatei, Nonces, One-Pad, Password,
Time, Erzeugung kryptographischer Schlüssel, Hash, List Randomizer, "aus Quanten-Zufällen",
Integer, Sequence, DNA Protein Sequence, Sets, Gaussian, Stochastik, zentrale Grenzwertsatz,
Color-Code, Audio-Noise, Pregenerated Files, Geographic-Coordinate, usw.
Mögliche Problemstellungen für die self-made-App sind:
Zunächst sind eigene Algorithmen für Zufallszahlen zu erstellen und zu visualisieren. Unterschiedliche Stärken/Schwächen/Anwnedungsbereiche wie z.B. Sicherheit+Kryptologie , Liste von Zufallszahlengeneratoren ( Wikipedia ).
Für die Entwicklung von "self-made" Generatoren für Zufallszahlen können die folgenden Bemerkungen hilfreich sein. Browser verwenden keinen einheitliche random-Algorithmus. Ein self-made-Algorithmus rnd() ermöglich mehr Kontrolle. Wie startet rnd()? Was meint "seed"?
function zuf_float( min, max ) { return min + (max - min) * rnd(); } function zuf_int ( min, max ) { return Math.floor( min + (max - min + 1) * rnd() ); } function zuf_char ( min, max ) { return String.fromCharCode( zuf_int(min, max) ); }
var dez_num = 69069, // 69069 = 3·7·11·13·23
bin_str = dez_num.toString(2),
bin_num = parseInt(bin_str,2);
// liefert dez_num = 69069,
// liefert bin_str = 10000110111001101,
// liefert bin_num = 69069
Beispiel für ein Addieren ( number-wrapping bei 2^32 ) mit 16-bit Operationen ( Microcontroller ):
function safe_add(x, y) { var msw, lsw = (x & 0xFFFF) + (y & 0xFFFF); msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); }
var a=[] enthalte die benötigten Unicode-Blöcke und nc ist die Anzahl der Zeichen des erzeugten Passwortes. Achtung! Wegen unterschiedlicher random()-Algorithmen ist Math.random() abhängig vom verwendeten Browser.
function zufall_passwort(anzZeichen, idxAuswahlGruppe) { var i, n, len, r = "", a = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", "✀✁✂✃✄✅✆✇✈✉✊✋✌✍✎✏✐✑✒✓✔✕✖✗✘✙✚✛✜✝✞✟✠✡" // ... ]; anzZeichen = anzZeichen || 5; idxAuswahlGruppe = idxAuswahlGruppe || 0; s = a[idxAuswahlGruppe]; len = s.length; for (i = 0; i < anzZeichen; i += 1) { n = Math.floor(Math.random() * len); r += s.charAt(n); } return r; }
Teste Zufall-Passwort-Generierung:
idxAuswahlGruppe = 0 mit der Anzahl von Zeichen :
5
10
20
idxAuswahlGruppe = 1 mit anderm Unicode-Block :
5
10
20
idxAuswahlGruppe = 2 mit anderm Unicode-Block :
5
10
20
idxAuswahlGruppe = 3 mit anderm Unicode-Block :
5
10
20
Zunächst ein einfaches, übersichtliches Verfahren, das den Faktor 69069 verwendet:
function pseudo_hash_str(s, base, seed) { "use strict"; var i, x,y, len = s.length-1, r = ""; seed = seed || 1234567; x = seed; base = parseInt(base, 10); if (!(base && base > 1 && base < 37)) { base = 36; } for (i = len; i >= 0; i -= 1) { x = 69069 * x + seed >>> 0; y = (x * s.charCodeAt(i)) >>> 0; r += y.toString(base); } return r; }
Bitte den Quellcode anschauen ( x = 69069 * x + seed >>> 0 ) und andere Eingaben testen. Wie steht es mit den Zeichenhäufigkeiten?
Die entwickelten Zufallszahlen-Generatoren sind grafisch zu visualisieren. Ein selbst entwickelter Zufallszahlen-Generatoren ist für die Simulationen einer praxisrelevanten Aufgabe zu verwenden.
Hinweis: Pseudo-Zufallszahlen sind auch ein wesentlicher Bestandteil von Sicherheitsarchitekturen und werden für das nachfolgende ESA-Projekt benötigt. Siehe z.B. Sicherheit+Kryptologie und ECMAScript-Beispiele zu Zufallszahlen .
// Prinzip etwa: function xor_shift(seed) { //x: seed, max_val: Math.pow(2, 31), this.x ^= this.x << 13; this.x ^= this.x >> 17; this.x ^= this.x << 5; return Math.abs(this.x / this.max_val); }
Teste : Zeichne auf Canvas
seed: 0x82827
"schwarz" dot_count: 100,
"rot", dot_count: 10000,
"grün", dot_count: 10000
"blau", dot_count: 2500, farbe: "#004"/"#449"/"#00a"/"#aaf"
"grau", seed:1, volle_breite:true, dot_count: 20000
Bei diesem Projekt sollen UTF-8 Strings verwendet werden, die für die weitere Verarbeitung in HEX-Zeichen ( "0", "1","2","3", ..., "9", "a","b","c","d","e","f" ) umgewandelt werden. Für die Ver-/Entschlüsselung werden HEX-Zeichen verwendet. Für Client-Server- Übertragungen ( AJAX, POST ) werden alle Daten in ein JSON-Objekt mit den JSON.stringify(HEX-Zeichen) getan. Analog die Server-Client-Übertragungen.
Hier einige Hilfsfunktionen ( siehe Seiten-Quelltext ):
function byte_chrs_from_utf8_str(utf8) { var byte_chrs = ''; try { byte_chrs = unescape(encodeURIComponent(utf8)); } catch (e) { } return byte_chrs; } function utf8_str_from_byte_chrs(byte_chrs) { var utf8 = ''; try { utf8 = decodeURIComponent(escape(byte_chrs)); } catch (e) {utf8 = ''; } return utf8; }
// Bsp: hex_chars_from_utf8_str("äöüÄÖÜß") liefert "c3a4c3b6c3bcc384c396c39cc39f" function hex_chars_from_utf8_str(utf8) { var i, c, byte_chrs = byte_chrs_from_utf8_str(utf8), hex_chars = ""; for (i = 0; i < byte_chrs.length; i += 1) { c = byte_chrs.charCodeAt(i).toString(16); if (c.length == 2) { hex_chars += c; } else if (c.length == 1) { hex_chars += "0" + c; } } return hex_chars; } // Bsp: utf8_str_from_hex_chrs("c3a4c3b6c3bcc384c396c39cc39f") liefert "äöüÄÖÜß" function utf8_str_from_hex_chrs(hex_chrs) { var byte_chrs = hex_chrs.replace(/([0-9a-f]{2})/g, function (a,c) { return String.fromCharCode(parseInt(c,16));}); return utf8_str_from_byte_chrs(byte_chrs); }
var utf8_bsp =
byte_chrs_from_utf8_str(utf8_bsp) =
hex_chars_from_utf8_str(utf8_bsp) =
Sicher erscheinende kryptologischer Hashfunktionen können standardisiert werden. Mit einer digitalen Signatur kann die Integrität einer Nachricht zugesichert werden. Siehe z.B. de.wikipedia Secure Hash Algorithm
Welcher "optimalen digitalen Fingerabdrücke" gehören zu
Je nach Anwendung können unterschiedliche Hashfunktionen verwendet werden. Kriterien für eine gute Hashfunktion sind vielfach:
- Geringe Kollisionens-Wahrscheinlichkeit - Möglichst Gleichverteilung der Hashwerte - Geringe Speicherbedarf des Hashwertes - "Chaos-Zersteuung", d.h. ändert sich 1 Eingabe-Bit, so sollen sich möglichst 50% der Hash-Bits ändern - Alle Hashwerte sollen unmöglich sein - Hash-Funktion soll schnell berechenbar sein
Notwendige Erfordernisse hängen legen die erforderliche Merkmalen fest. Wie kann ein einfacher "Self-Made-Hash-Algorithmus" gemacht werden?
Beispiel:
Mögliche Primzahl-Kandidaten sind ( n = 0, 1, 2, 3, ... ): ???????????????
Die ersten 258 Primzahlen:
var prims = [ // 258 Primzahlen 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621]; var von=11, bis=21, prim, bas, r = ["<table border><tr><th>"]; for( i = von; i < bis; i += 1 ) { prim = prims[i]; for( bas = 2; bas < 37; bas += 1 ) { r.push( prim.toString(bas) + '<sub>'+bas+'</sub>' ); } r.push("\n</th><th>\n"); } r = r.join("<br />") + "</th></tr></table>"; alert(r);Ausgabe von bin_str zu den Basen 2 ... 36:
111112 10113 1334 1115 516 437 378 349 3110 2911 2712 2513 2314 2115 1f16 1e17 1d18 1c19 1b20 1a21 1922 1823 1724 1625 1526 1427 1328 1229 1130 1031 v32 v33 v34 v35 v36 |
1001012 11013 2114 1225 1016 527 458 419 3710 3411 3112 2b13 2914 2715 2516 2317 2118 1i19 1h20 1g21 1f22 1e23 1d24 1c25 1b26 1a27 1928 1829 1730 1631 1532 1433 1334 1235 1136 |
1010012 11123 2214 1315 1056 567 518 459 4110 3811 3512 3213 2d14 2b15 2916 2717 2518 2319 2120 1k21 1j22 1i23 1h24 1g25 1f26 1e27 1d28 1c29 1b30 1a31 1932 1833 1734 1635 1536 |
1010112 11213 2234 1335 1116 617 538 479 4310 3a11 3712 3413 3114 2d15 2b16 2917 2718 2519 2320 2121 1l22 1k23 1j24 1i25 1h26 1g27 1f28 1e29 1d30 1c31 1b32 1a33 1934 1835 1736 |
1011112 12023 2334 1425 1156 657 578 529 4710 4311 3b12 3813 3514 3215 2f16 2d17 2b18 2919 2720 2521 2322 2123 1n24 1m25 1l26 1k27 1j28 1i29 1h30 1g31 1f32 1e33 1d34 1c35 1b36 |
1101012 12223 3114 2035 1256 1047 658 589 5310 4911 4512 4113 3b14 3815 3516 3217 2h18 2f19 2d20 2b21 2922 2723 2524 2325 2126 1q27 1p28 1o29 1n30 1m31 1l32 1k33 1j34 1i35 1h36 |
1110112 20123 3234 2145 1356 1137 738 659 5910 5411 4b12 4713 4314 3e15 3b16 3817 3518 3219 2j20 2h21 2f22 2d23 2b24 2925 2726 2527 2328 2129 1t30 1s31 1r32 1q33 1p34 1o35 1n36 |
1111012 20213 3314 2215 1416 1157 758 679 6110 5611 5112 4913 4514 4115 3d16 3a17 3718 3419 3120 2j21 2h22 2f23 2d24 2b25 2926 2727 2528 2329 2130 1u31 1t32 1s33 1r34 1q35 1p36 |
10000112 21113 10034 2325 1516 1247 1038 749 6710 6111 5712 5213 4b14 4715 4316 3g17 3d18 3a19 3720 3421 3122 2l23 2j24 2h25 2f26 2d27 2b28 2929 2730 2531 2332 2133 1x34 1w35 1v36 |
10001112 21223 10134 2415 1556 1317 1078 789 7110 6511 5b12 5613 5114 4b15 4716 4317 3h18 3e19 3b20 3821 3522 3223 2n24 2l25 2j26 2h27 2f28 2d29 2b30 2931 2732 2533 2334 2135 1z36 |
Mögliche Primzahl-Kandidaten sind ( n = 0, 1, 2, 3, ... ): 1 + n*30; 7 + n*30; 11 + n*30; 13 + n*30; 17 + n*30; 19 + n*30; 23 + n*30; 29 + n*30
Anders als in dem Beispiel aus der ägyptischen Mythologie wird heute ( 2015 ) bei "Big-Date-Monopolisierungsbestrebungen" auch versucht, das "universellste-super-stärkste Ver-/Ent-Schlüsselungsverfahren anzupreisen und "für alle kostenfrei-günstig" anzubieten und systematisch einzusetzen. Also: Was ist anders, wenn vorrangig in Folgen, Abfolgen und Zusammenhängen gedacht wird? Hier beispielhaft ein grober Versuch mit Literatur und Häufigkeiten ... Welcher "digitale Fingerabdruck" gehört zu einer Literaurstelle, zu einem Autor, zu einer Sprachkultur?
Plagiate sind out!
Viel Freude bei der Ausarbeitung!
Letzter Abgabetermine Do 12.00 Uhr