ุณุฃุญุฌุฒ ุนูู ุงูููุฑ - ุฃูุง ุชูุฑูุจูุง ูุงูู ูู ุงูุฃู
ูุฑ ุงูู
ุชุนููุฉ ุจุงูุชูููุน ุงูุฑูู
ู ุงูุฅููุชุฑููู (EDS). ูู ุงูุขููุฉ ุงูุฃุฎูุฑุฉ ุ ุจุฏุงูุน ุงููุถูู ุงูุทุจูุนู ุ ูุฑุฑุช ูุฑุฒ ูุฐุง ููููุงู ููุฌุฏุช 100500 ู
ูุงูุฉ ุนูู ุงูุฅูุชุฑูุช ุญูู ู
ูุถูุน ุงูุญุตูู ุนูู ุดูุงุฏุงุช ุงูุชูููุน ุงูุฑูู
ู ูู ู
ุฑุงูุฒ ุงูุดูุงุฏุงุช ุงูู
ุฎุชููุฉ ุ ุจุงูุฅุถุงูุฉ ุฅูู ุงูุนุฏูุฏ ู
ู ุงูุฅุฑุดุงุฏุงุช ูุงุณุชุฎุฏุงู
ุงูุนุฏูุฏ ู
ู ุงูุชุทุจููุงุช ุงูุฌุงูุฒุฉ ูุชูููุน ุงูู
ุณุชูุฏุงุช. ูู ุจุนุถ ุงูุฃู
ุงูู ุ ุฐูุฑ ุจุดูู ุนุงุจุฑ ุฃูู ูู
ูู ุนู
ู ุชูููุน ุบูุฑ ู
ุงูุฑ ุจุดูู ู
ุณุชูู ุฅุฐุง ููุช ุชุณุชุฎุฏู
ุฎุฏู
ุงุช "ู
ุจุฑู
ุฌ ู
ุชู
ุฑุณ".
ุฃุฑุฏุช ุฃูุถูุง ุฃู ุฃุตุจุญ ุนูู ุงูุฃูู "ู
ู ุฐูู ุงูุฎุจุฑุฉ" ูููู
ูุฐุง ุงูู
ุทุจุฎ ู
ู ุงูุฏุงุฎู. ู
ู ุฃุฌู ุงูู
ุชุนุฉ ุ ุชุนูู
ุช ููููุฉ ุฅูุดุงุก ู
ูุงุชูุญ PGP ุ ูุชูููุน ุงูู
ุณุชูุฏุงุช ุจุชูููุน ุบูุฑ ู
ุคูู ุ ูุงูุชุญูู ู
ู ุตุญุชูุง. ู
ู ุฎูุงู ููู
ุฃูู ูุง ุชูุฌุฏ ุฃู
ุฑููุง ู
ูุชูุญุฉ ุ ูุฅููู ู
ุน ุฐูู ุฃูุฏู
ูุฐุง ุงูุจุฑูุงู
ุฌ ุงูุชุนููู
ู ุงููุตูุฑ ููููุงุฉ ุงูุฐูู ูู
ู
ุซูู ูู ู
ุณุงุฆู ุงูุนู
ู ู
ุน ุงูุชูููุนุงุช ุงูุฑูู
ูุฉ. ุญุงููุช ุฃูุง ุฃุชุนู
ู ูู ุงููุธุฑูุฉ ูุงูุชูุงุตูู ุ ูููู ุฃูุชุจ ููุท ู
ูุฏู
ุฉ ุตุบูุฑุฉ ูู
ูุฌุฒุฉ ููุณุคุงู. ุจุงููุณุจุฉ ูุฃููุฆู ุงูุฐูู ูุนู
ููู ุจุงููุนู ู
ุน EDS ุ ู
ู ุบูุฑ ุงูู
ุฑุฌุญ ุฃู ูููู ูุฐุง ู
ุซูุฑูุง ููุงูุชู
ุงู
ุ ูููู ุจุงููุณุจุฉ ููู
ุจุชุฏุฆูู ุ ููู
ุนุงุฑู ุงูุฃููู - ุตุญูุญ ุชู
ุงู
ูุง.
ู
ุง ูู ุงูุชูููุน ุงูุฅููุชุฑููู
ุฌู
ูุน ุงูู
ุตุทูุญุงุช ูุงูุชุนุฑููุงุช ู
ูุฏู
ุฉ ูู ุงููุงููู ุ ูุฐูู ุ ุณูุฐูุฑ ูู ุดูุก ุ ูู
ุง ูููููู ุ ุจููู
ุงุชู ุงูุฎุงุตุฉ ุ ุฏูู ุงูุชุธุงูุฑ ุจุงูุฏูุฉ ุงููุงููููุฉ ุงูู
ุทููุฉ ููุตูุงุบุฉ.
ุงูุชูููุน ุงูุฑูู
ู ุงูุฅููุชุฑููู (EDS) ูู ู
ุฌู
ูุนุฉ ู
ู ุงูุฃุฏูุงุช ุงูุชู ุชุฌุนู ู
ู ุงูู
ู
ูู ุงูุชุญูู ุจูุถูุญ ู
ู ุฃู ู
ุคูู ุงูู
ุณุชูุฏ (ุฃู ู
ุคุฏู ุงูุฅุฌุฑุงุก) ูู ุจุงูุถุจุท ุงูุดุฎุต ุงูุฐู ูุทูู ุนูู ููุณู ุงุณู
ุงูู
ุคูู. ูุจูุฐุง ุงูู
ุนูู ุ ูุฅู EDS ู
ู
ุงุซู ุชู
ุงู
ูุง ููุชูููุน ุงูุชูููุฏู: ุฅุฐุง ูุงูุช ุงููุซููุฉ "ุงููุฑููุฉ" ุงูู
ุนุชุงุฏุฉ ุชุดูุฑ ุฅูู ุฃู ู
ุคูููุง ูู Ivanov ุ ูุชูููุน Petrov ุฃุฏูุงู ุ ููู
ููู ุงูุดู ูู ุชุฃููู Ivanov.
ุงูุชูููุน ุงูุฅููุชุฑููู ูู ุจุณูุท ู ุชุนุฒูุฒ . ูุง ูุนูู ุงูุชูููุน ุงูุจุณูุท ุงุณุชุฎุฏุงู
ุฎูุงุฑุฒู
ูุงุช ุงูุชุดููุฑ ุงูููุงุณูุฉ ุ ุฌู
ูุน ุทุฑู ุงูู
ุตุงุฏูุฉ (ุชุฃุณูุณ ุงูุชุฃููู) ุงูุชู ุชู
ุงุฎุชุฑุงุนูุง ูุจู ุนุตุฑ EDS - ููุฐุง ูู ุงูุฃุณุงุณ ุชูููุน ุฅููุชุฑููู ุจุณูุท. ุฅุฐุง ูู
ุช ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุจุงูุชุณุฌูู ูู ู
ููุน ููุจ ููุฎุฏู
ุงุช ุงูุนุงู
ุฉ ุ ูุชุญูู ู
ู ูููุชู ู
ู ุฎูุงู ุงูุธููุฑ ูู ู
ุฑูุฒ ู
ุชุนุฏุฏ ุงููุธุงุฆู ุ ุซู
ุฅุฑุณุงู ู
ูุงุดุฏุงุช ุฅูู ููุฆุงุช ุญููู
ูุฉ ู
ุฎุชููุฉ ู
ู ุฎูุงู ูุฐุง ุงูู
ููุน ุ ูุณูููู ุงุณู
ุงูู
ุณุชุฎุฏู
ูููู
ุฉ ุงูู
ุฑูุฑ ู
ู ู
ููุน ุงูุฎุฏู
ุงุช ุงูุนุงู
ุฉ ูู ูุฐู ุงูุญุงูุฉ ูู ุชูููุนู ุงูุฅููุชุฑููู ุงูุจุณูุท.
ุงูุชููุช ุฐุงุช ู
ุฑุฉ ุจูุฐู ุงูุทุฑููุฉ ูู
ุตุงุฏูุฉ ุงูู
ุณุชูุฏุงุช ุงูุฅููุชุฑูููุฉ ูู ู
ูุธู
ุฉ ูุงุญุฏุฉ: ูุจู ุฅุฑุณุงู ุงููุซููุฉ ุ ุชู
ุฅุนุฏุงุฏ ุชุฌุฒุฆุฉ ููุง ( , ). ( ) , . , : , fetch- ajax- . , : , .
. ; , , . - ( , , ), : . ; (public key), โ (private key). , , .
, ( ? ) , , , . , , , . , , , .
, : , โ . ( ) . , , , , - ! . ( ), , .
. , . : . ( ) . , , , , .
. (detach), . , - .
? : , . :
, , , ยซยป. , . , , . : , . , ...
. , , , ( , ). ( ), . , , (fingerprint), , , . , , , , , . , ( 40 ).
, , , โ , . . : , ( ). , , .
, (, ) , . , ( ): .
, : - (, ) . , , .
, ( ) ( ). , (, ). (, ) , , .
, . , , , (public key) (private key).
. , , PGP (Pretty Good Privacy). 1991 , (, OpenPGP). 1999 GNU Privacy Guard (GnuPG, GPG). GPG ; - Windows , , gpg4win. - .
, (- , - root')
gpg --full-generate-key
:
- ยซRSA RSA ( )ยป;
- , 2048 ;
- ยซ ยป;
- , , ,
; ; - , .
GPG , . , , , GPG . , , , .
( , , , , ) :
gpg --export -a " " > public.key
gpg --export-secret-key -a " " > private.key
, private.key
, public.key
.
, (ASCII) :
gpg -ba __
, asc
. , , privet.doc
, privet.doc.asc
. , , privet.sig
, .
, , , :
from Tkinter import *
from tkFileDialog import *
import os, sys, tkMessageBox
def die(event):
sys.exit(0)
root = Tk()
w = root.winfo_screenwidth()//2 - 400
h = root.winfo_screenheight()//2 - 300
root.geometry("800x600+{}+{}".format(w, h))
root.title(" ")
flName = askopenfilename(title=" ?")
if flName:
os.system("gpg -ba " + flName)
button = Button(text=" ")
button.bind("<Button-1>", die)
button.pack(expand=YES, anchor=CENTER)
else:
die()
root.mainloop()
, , , ( ) , :
gpg --verify __ __
- (, ):
public.key
, () , , GPG;- - , .
- ( , ) .
, OpenPGP.js; ( โ 506 ) dist/lightweight/openpgp.min.js
html- ( meta-):
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<label for="doc"> </label>
<input id="doc" type="file" onChange="readDoc('doc')">
<label for="sig"> </label>
<input id="sig" type="file" onChange="readDoc('sig')">
<button type="button" disabled onClick="check()"></button>
<output></output>
<script src="openpgp.min.js"></script>
<script src="validate.js"></script>
</body>
</html>
, public.key
openpgp.min.js
, .
validate.js
:
"use strict";
let cont = {doc:'', sig:''},
flag = {doc:false, sig:false},
pubkey = '',
mess = '';
const readDoc = contKey => {
let reader = new FileReader();
reader.onload = async e => {
cont[contKey] = contKey == "sig" ?
e.target.result :
new Uint8Array(e.target.result);
flag[contKey] = true;
pubkey = await (await fetch("public.key")).text();
if (flag["doc"] && flag["sig"])
document.querySelector("button").disabled = false;
}
reader.onerror = err => alert(" ");
let fileObj = document.querySelector(`#${contKey}`).files[0];
if (contKey == "sig") reader.readAsText(fileObj);
else reader.readAsArrayBuffer(fileObj);
}
const check = async () => {
try {
const verified = await openpgp.verify({
message: openpgp.message.fromBinary(cont["doc"]),
signature: await openpgp.signature.readArmored(cont["sig"]),
publicKeys: (await openpgp.key.readArmored(pubkey)).keys
});
const {valid} = verified.signatures[0];
mess = " !";
if (valid) mess = " .";
} catch(e) {mess = " .";}
document.querySelector("output").innerHTML = mess;
}
ูุฐุง ุ ูู ุงููุงูุน ุ ูู ุดูุก. ุงูุขู ุ ููููุง ููุจูุฏ 5.23 ู
ู GOST 7.0.97โ2016 ุ ูู
ููู ูุถุน ูุฐู ุงูุตูุฑุฉ ุงูุฌู
ููุฉ ุนูู ุงูู
ุณุชูุฏ (ูู ุงูู
ูุงู ุงูุฐู ูุฌุจ ุฃู ูููู ููู ุงูุชูููุน ุงูู
ูุชูุจ ุจุฎุท ุงููุฏ):
