[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

Vigenère Lösung Coffeescript

[Veranschaulichung des Public-Key-Verfahrens]

Lösung Aufgabe Vigenère in Coffeescript:


vigenereverschluesseln = (satz,codewort) ->
  verschluesselter_satz = ""
  laenge = satz.length
  stelle = 0
  codestelle = 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    codeasciizahl = 
      codewort.charCodeAt codestelle
    asciizahl = 
      asciizahl + codeasciizahl - 64
    buchstabe = 
      String.fromCharCode(asciizahl)
    verschluesselter_satz = 
      verschluesselter_satz + buchstabe
    stelle = stelle + 1
    codestelle = codestelle + 1
    if codestelle == codewort.length
      codestelle = 0

  satz = verschluesselter_satz
  return satz


vigenereentschluesseln = (satz,codewort)->
  entschluesselter_satz = ""
  laenge = satz.length
  stelle= 0
  codestelle = 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    codeasciizahl = 
      codewort.charCodeAt codestelle
    asciizahl = 
      asciizahl - codeasciizahl + 64
    buchstabe = 
      String.fromCharCode(asciizahl)
    entschluesselter_satz = 
      entschluesselter_satz + buchstabe
    stelle = stelle + 1
    codestelle = codestelle + 1
    if codestelle == codewort.length
      codestelle = 0

  satz = entschluesselter_satz
  return satz

# --------------------------------------
write "PROGRAMM Vigenere-Verschlüsselung"
write "~"

await read  'Bitte den Satz eingeben: ', 
  defer satz
await read  'Bitte das Codewort eingeben: ', 
  defer codewort

write "Unverschluesselt:   " + satz
satz = 
  vigenereverschluesseln satz, codewort
write "Verschluesselt:     " + satz
satz = 
  vigenereentschluesseln satz, codewort
write "Entschluesselt:     " + satz

Lösung Aufgabe Vigenère in Coffeescript:


console.log "Programm  Vigenere-Verschlüsselung "

vigenereverschluesseln = (satz, codewort) ->
  verschluesselter_satz = ""
  laenge = satz.length
  stelle = 0
  codestelle = 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    codeasciizahl = codewort.charCodeAt codestelle
    asciizahl = asciizahl + codeasciizahl - 64
    buchstabe = String.fromCharCode(asciizahl)
    verschluesselter_satz = verschluesselter_satz + buchstabe
    stelle = stelle + 1
    codestelle = codestelle + 1
    if codestelle == codewort.length
      codestelle = 0

  satz = verschluesselter_satz
  return satz


vigenereentschluesseln = (satz, codewort)->
  entschluesselter_satz = ""
  laenge = satz.length
  stelle= 0
  codestelle = 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    codeasciizahl = codewort.charCodeAt codestelle
    asciizahl = asciizahl - codeasciizahl + 64
    buchstabe = String.fromCharCode(asciizahl)
    entschluesselter_satz = entschluesselter_satz + buchstabe
    stelle = stelle + 1
    codestelle = codestelle + 1
    if codestelle == codewort.length
      codestelle = 0

  satz = entschluesselter_satz
  return satz

# ------------------------------------------------------------
write "PROGRAMM Vigenere-Verschlüsselung"
write "~"

await read  'Bitte den Satz eingeben:      ', defer satz
await read  'Bitte das Codewort eingeben:      ', defer codewort

write "~"

write "Unverschluesselt:   " + satz
satz = vigenereverschluesseln satz, codewort
write "Verschluesselt:     " + satz
satz = vigenereentschluesseln satz, codewort
write "Entschluesselt:     " + satz