Skip to content

VDmdm/gost34102012

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gost34102012

Запуск программы

git clone [email protected]:VDmdm/gost34102012.git
cd gost34102012/
go mod download
go run main.go [flags]

или

git clone [email protected]:VDmdm/gost34102012.git
cd gost34102012/
go mod download
go build main.go -o gost34102012
./gost34102012 [flags]

Флаги запуска [flags]

  • -f [строка: путь к файлу] – путь к файлу для подписания или проверки подписи;
  • -signature [строка: путь к файлу] – путь к файлу с подписью. Для режима проверки будет считан, для режима подписания будет создан;
  • -k [строка: путь к файлу] – файл с ключом подписи (приватный ключ) для режима подписи или с ключом проверки подписи (публичный ключ) для режима проверки подписи;
  • -gen – запуск в режиме генерации ключей пользователя. Ключи сохраняются в текущий дериктории [timestamp]_public.sigkey и [timestamp]_private.sigkey;
  • -sign-file – запуск в режиме подписи файла;
  • -verify-sign – запуск в режиме проверки подписи файла;
  • -params [строка: имя параметра] – выбор параметров элептической кривой. По умолчанию: id-tc26-gost-3410-12-512-paramSetB. Может быть один из [id-GostR3410-2001-CryptoPro-A-ParamSet, id-GostR3410-2001-CryptoPro-B-ParamSet, id-GostR3410-2001-CryptoPro-C-ParamSet, id-tc26-gost-3410-12-512-paramSetA, id-tc26-gost-3410-12-512-paramSetB];

Пример работы программы

// генерация ключей
go run main.go --gen
//Выбран режим генерации ключевой пары
//Набор параметров эллиптической кривой: id-tc26-gost-3410-12-512-paramSetA
//p: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083527
//a: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083524
//b: 12190580024266230156189424758340094075514844064736231252208772337825397464478540423418981074322718899427039088997221609947354520590448683948135300824418144
//q: 13407807929942597099574024998205846127479365820592393377723561443721764030073449232318290585817636498049628612556596899500625279906416653993875474742293109
//Gx: 3
//Gy: 6128567132159368375550676650534153371826708807906353132296049546866464545472607119134529221703336921516405107369028606191097747738367571924466694236795556
//Файлы ключей успешно созданы. Публичный ключ: 20240509T170817_public.sigkey, Приватный ключ: 20240509T170817_private.sigkey

// подписание файла
go run main.go -sign-file -signature example/sign.txt -f example/file.txt -key 20240509T170817_private.sigkey
//Выбран режим подписания файла.
//Путь к файлу: example/file.txt
//Путь к файлу для записи подписи: example/sign.txt
//Путь к файлу приватного ключа: 20240509T170817_private.sigkey
//Файл успешно подписан. Подпись записана в файл: example/sign.txt

//проверка подписи
go run main.go -verify-sign -signature example/sign.txt -f example/file.txt -key 20240509T170817_public.sigkey
//Выбран режим проверки подписи файла.
//Путь к файлу: example/file.txt
//Путь к файлу подписи: example/sign.txt
//Путь к файлу публичного ключа: 20240509T170817_public.sigkey
//Проверка подписи завершена.
//Подпись верна.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages