[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

Public-Key-Verfahren in Coffeescript

[Veranschaulichung des Public-Key-Verfahrens]

Public-Key-Verfahren in Coffeescript:

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

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

  satz = verschluesselter_satz
  return satz


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

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

  satz = entschluesselter_satz
  return satz

# ------------------------------
write "PROGRAMM Public-Key-Verschlüsselung"
write "~"

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

write "Unverschlüsselt: " + satz
satz = publicverschluesseln satz, codewort
write "Verschlüsselt: " + satz
write "~"

await read 'Privaten Schlüssel eingeben: ',
  defer codewort
satz = publicentschluesseln satz, codewort
write "Entschlüsselt: " + satz

Public-Key-Verfahren in Coffeescript:


console.log "Programm  Public-Key -Verschlüsselung "

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

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

  satz = verschluesselter_satz
  return satz


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

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

  satz = entschluesselter_satz
  return satz

# ------------------------------------------------------------
console.log "Das Programm ist gestartet"

write "PROGRAMM Public-Key-Verschlüsselung"
write "~"

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

write "Unverschlüsselt:   " + satz
satz = publicverschluesseln satz, codewort
write "Verschlüsselt:     " + satz
write "~"

await read  'Bitte privaten Schlüssel eingeben:      ', defer codewort
satz = publicentschluesseln satz, codewort
write "Entschlüsselt:     " + satz

console.log "Das Programm ist beendet mit dem Satz:  #{satz}"