Какво представляват криптографските подписи? Пълно ръководство за начинаещи

Криптографски подписи

Схемите за криптографски подпис са основен компонент на мрежите за криптовалута, които проверяват целостта и неотхвърлянето на съобщенията за транзакции в мрежата. Те наемат асиметрична криптография и приемат многобройни форми.

Типовете криптографски подписи (известни също като цифрови подписи), приложени в конкретна криптовалута, обикновено се избират за определени предимства, които предлагат. От самото си създаване те са постоянно оптимизирани, за да подобрят своята ефективност и сигурност.

Криптографски подписи

Криптовалутите породиха оживено ново приложение на цифровите подписи и тяхното бъдещо развитие със сигурност ще съпътства повече напредък в областта на криптографията.

Кратка история

Първата концепция за алгоритмите за цифров подпис се приписва на Whitfield Diffie и Martin Hellman, базирани на еднопосочност функции на капака които са измислили през своята 1976 година хартия. Trapdoor функциите се използват широко в криптографията и са математически съставени, така че да бъдат лесни за изчисляване в една посока и изключително трудни за изчисляване в обратна посока.

Впоследствие Ривест, Шамир и Адлеман създават първия примитивен алгоритъм за цифров подпис, известен като RSA. RSA е най-повсеместният криптографски алгоритъм, използван днес и доминира в сигурното предаване на данни през Интернет. Скоро след това, известни схеми за цифров подпис като Lamport Signature и Дървета Merkle са разработени, като Merkle Trees функционират по същия начин като основен компонент на блокчейн мрежите.

Какво е Меркле дърво

Прочетете: Какво е дърво на Меркле?

Цифровите подписи използват криптография с публичен / частен ключ, където двойка ключове се използва като част от алгоритъм за изпращане на лични съобщения през незащитени канали. Целта е да се постигне автентичността на съобщението чрез публичния ключ, който потвърждава, че съобщението идва от съответния частен ключ. Шифроването е мястото, където само притежателят на частния ключ може да дешифрира изпратеното и кодирано съобщение с публичния ключ. Неотхвърлянето е друг жизненоважен компонент, което означава, че подписващият не може да отрече, че е подписал транзакция и е математически невъзможно трета страна да подправи подпис.

Обикновено има три компонента на алгоритъма за цифров подпис:

  1. Генерация на ключове
  2. Алгоритъм за подписване
  3. Алгоритъм за проверка на подпис

Генерацията на ключове е жизненоважна за целостта на цифровия подпис, тъй като извежда частния ключ и съответния публичен ключ. В криптовалутите частният ключ трябва да бъде генериран на случаен принцип, за да се гарантира, че никой друг няма достъп до съответния портфейл до потребителя.

Алгоритъмът за подписване създава подпис, даден на съобщение (т.е. транзакция) и частния ключ.

Алгоритъмът за проверка на подпис проверява автентичността на подписа, когато му се предоставят съобщението, публичният ключ и цифровият подпис

След като получателят на транзакция провери автентичността на съобщението, той може да провери целостта, като стартира съобщението чрез същия алгоритъм на хеширане като подателя. Днес има многобройни схеми за криптографски подпис, така че нека да разгледаме някои от най-често срещаните и някои от по-напредналите схеми на хоризонта.

Подписи на Лампорт

Подписи на Лампорт са едни от най-ранните цифрови подписи и са конкретно еднократни ключове, които не могат да бъдат използвани повторно. Изобретен от Лесли Лампорт през 1979 г., подписите на Лампорт могат да бъдат защитени с помощта на всяка една еднопосочна функция на капака, което ги прави изключително гъвкави в дизайна си. Обикновено те използват хеш функции и тяхната сигурност разчита директно на сигурността на хеш функцията.

Подписите на Lamport могат да бъдат конструирани от усъвършенствани криптографски хеш функции, като квантово устойчив хеш Skein или Keccack. Тъй като те могат да приемат големи хеш функции като Skein и Keccack, Lamports са идеални за ранен етап на квантово съпротивление, въпреки че динамичният потенциал на квантовите компютри и произтичащият напредък от тяхното появяване е почти невъзможно да се предскаже.

Алгоритъм за цифров подпис на RSA

Настоящият стандарт на Интернет за криптиране на съобщения, нарушаващ алгоритъма RSA, е известен като RSA проблем. Неговата еднопосочна функция на капака се основава на концепцията за главна факторизация.

RSA криптография

Прочетете: Какво е RSA криптография?

RSA е по-тромав от другите алгоритми за цифров подпис и се използва за групово криптиране, вместо директно криптиране на потребителски данни. Въпреки това той остава най-популярният алгоритъм за цифров подпис, използван днес.

Алгоритъм за цифров подпис с елиптична крива (ECDSA)

ECDSA се използва в много криптовалути и е алгоритъмът за цифров подпис, избран за биткойн, до очакваното преминаване към подписи на Schnorr. ECDSA е по-ефективен от RSA криптографията поради много по-малкия си размер на ключа. Това е оптимален избор за блокчейн, който трябва да намали подуването на блокчейн и се бори с нарастващи размери на пълни клиенти.

Криптография с елиптична крива

Прочетете: Какво е криптография с елиптична крива? 

ECDSA разчита на понятието умножение на точки за осигуряване на еднопосочна функционалност на капака, необходима за цифров подпис. Криптирането за ECDSA се основава на алгебрична функция и нейната крива върху крайна графика. Добрата случайност е от съществено значение за всеки алгоритъм за цифров подпис, но е особено важна при ECDSA.

384-битовият ECDSA ключ се счита за достатъчно сигурен за най-класифицираната държавна информация от NSA.

Звънене подпис

Подписът с пръстен е вид цифров подпис, който прикрива действителния подписвач на транзакция, като обърква подписа им в група (пръстен) от други валидни подписи. Дизайнът трябва да направи така, че да е невъзможно да се определи кой е истинският подписвач на транзакцията.

Какво представляват подписи на пръстени

Прочетете: Какво представляват подписи на пръстени? 

Подписните пръстени се използват в монетите CryptoNote, включително Monero. Monero използва сигнали за пръстен, като взема ключ на акаунта на подателите на транзакции и го смесва с други публични ключове, така че всички членове на пръстена да са равни и валидни. Публичните ключове могат да се използват няколко пъти за различни подписи в мрежата. В Monero те са предназначени да увеличат заменяемостта на XMR токена, като гарантират, че резултатите от транзакциите са непроследими.

Има няколко вида пръстеновидни подписи. Звънещите подписи в Monero се основават на проследими пръстенни подписи преди да бъде оптимизиран да стане Позвънете поверителни транзакции, което е текущата им итерация в Monero.

Подписи на Шнор

Широко считани за най-добрите цифрови подписи от криптографи, подписите на Schnorr имат многобройни предимства пред другите методи. Подписите на Schnorr станаха възможни за интегриране в Bitcoin с Сегрегиран свидетел и отдавна са един от най-важните приоритети сред разработчиците на биткойн да заменят ECDSA.

Подписите на Schnorr са известни със своята елегантна простота и ефективност. Функцията trapdoor, която осигурява подписите на Schnorr, се основава на конкретна дискретни проблеми с логаритъма. Подобно на други функции на капака, като разлагане на първостепенни фактори в RSA, тези проблеми са неразрешими, което ги прави еднопосочни функции.

Едно от най-критичните предимства на подписите на Schnorr е тяхната поддръжка на множество подписи. В биткойн всички входове за транзакции изискват собствен подпис, което води до неефективно количество подписи, включени във всеки блок. С подписите на Schnorr всички тези входове могат да бъдат обобщени в един подпис, спестявайки огромно количество пространство във всеки блок. Освен това подписите на Schnorr могат да увеличат поверителността, като стимулират потребителите да използват CoinJoin, техниката на смесване на монети, която традиционно беше твърде неудобна, за да се използва редовно. Подписите на Schnorr намаляват размера на транзакциите в CoinJoin, намалявайки таксата за добив и го правят по-жизнеспособно за услугите на портфейла да се интегрират като функция.

И накрая, подписите на Schnorr могат да помогнат за увеличаване на капацитета на транзакциите с много сигнали. Възможни са значително по-сложни транзакции с много сигнали, като например двадесет от сто или петдесет от хилядата, със същия размер на цифровия подпис като традиционната транзакция. Последиците от това са по-сложната функционалност на интелигентния договор и по-добрата мащабируемост на мрежата.

Заключение

Криптографските подписи са завладяващо поле за изследване от самото им създаване. Криптовалутите ускориха темповете на развитие в областта на криптографията след тяхното разпространение и навлизане в масовия поток. По-усъвършенстваните схеми за подпис със сигурност ще се развиват с напредването на индустрията.

Засега ECDSA изглежда доминира като основен избор за повечето мрежи за криптовалута, докато сигналите за пръстени са популярни сред по-ориентираните към поверителността криптовалути. Има известно вълнение около подписите на Schnorr за известно време и предстоящата им интеграция в биткойн трябва да осигури някои отлични ползи за наследствената криптовалута.