<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Guardant &mdash; Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
		<link>https://forum.guardant.ru/topic/683/</link>
		<atom:link href="https://forum.guardant.ru/feed/rss/topic/683" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Асимметричный алгоритм шифрования (не подпись!) на основе ECC160».]]></description>
		<lastBuildDate>Mon, 12 Dec 2016 12:00:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3406/#p3406</link>
			<description><![CDATA[<div class="quotebox"><cite>mike_shubin пишет:</cite><blockquote><p>А в документации действительно есть мелкие, но неприятные неточности, например в описании списка параметров метода GrdCryptEx в разделе C# параметр data определён как [in], хотя в разделе С все корректно - pData [in, out].</p></blockquote></div><p>Большое спасибо, поправили.</p><p>Что же до шифрования ассиметричным ECC160, то здесь документация все же корректно, хоть и не совсем однозначно, описывает порядок подготовки GCEXE-файла. Тут действительно реализован механизм шифрования ключа AES на открытом ключе, хранящемся в дескрипторе ECC160. Сам алгоритм ECC160 в таком шифровании не участвует и шифровать не умеет (может подписывать данные).</p><p>Реализации аппаратного асимметричного алгоритма для шифрования данных в ближайшем будущем не ожидается, но, как и было верно отмечено, можно воспользоваться ключами Code для самостоятельной реализации подобного функционала.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Mon, 12 Dec 2016 12:00:49 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3406/#p3406</guid>
		</item>
		<item>
			<title><![CDATA[Re: Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3403/#p3403</link>
			<description><![CDATA[<p>Всё понятно, благодарю за ответ.</p><p>Видимо, я сильно избалован техподдержкой DevExpress, придётся отвыкать :-)<br />А в документации действительно есть мелкие, но неприятные неточности, например в описании списка параметров метода GrdCryptEx в разделе C# параметр data определён как [in], хотя в разделе С все корректно - pData [in, out].</p>]]></description>
			<author><![CDATA[null@example.com (mike_shubin)]]></author>
			<pubDate>Mon, 12 Dec 2016 09:39:38 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3403/#p3403</guid>
		</item>
		<item>
			<title><![CDATA[Re: Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3401/#p3401</link>
			<description><![CDATA[<p>Здравствуйте.<br /></p><div class="quotebox"><cite>mike_shubin пишет:</cite><blockquote><p>либо мной был задан запредельно сложный технический вопрос, который требует недельной проработки...</p></blockquote></div><p>В целом все практически так и есть, запредельной сложности конечно нет, но есть график приоритетных задач у наших разработчиков, а все вопросы, по мере их поступления, были направлены нашим специалистам в отдел разработки, и ждут своей очереди. И на текущий момент есть еще и ненулевая вероятность что документация недостаточно корректно описывает использование имеющегося аппаратного ECC160 при подготовке загружаемого кода.</p><p>Прошу прощения что своевременно не была предоставлена обратная связь с нашей стороны, однако придется дать нам еще немного времени на подготовку ответов.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Mon, 12 Dec 2016 07:11:17 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3401/#p3401</guid>
		</item>
		<item>
			<title><![CDATA[Re: Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3400/#p3400</link>
			<description><![CDATA[<p>Добрый день!</p><p>Алгоритм шифрования на открытом ключе ECC160 вовсю применяется для подготовки загружаемого кода в формате GCEXE:<br /></p><div class="quotebox"><blockquote><p>GrdUtil.exe автоматически преобразует бинарный код в файл формата GCEXE, содержащий:</p><p>&nbsp; &nbsp; Зашифрованный на AES исходный код<br />&nbsp; &nbsp; Зашифрованный на открытом ключе ECC160 №#1 сеансовый ключ AES, использовавшийся ранее для шифрования кода<br />&nbsp; &nbsp; ЭЦП файла, полученную на закрытом ключе ECC160 №#2</p><p>При этом в дескрипторе (ячейке) загружаемого кода хранится «ответная часть» ключей ECC, используемых при преобразовании бинарного кода:</p><p>&nbsp; &nbsp; Закрытый ключ ECC160 №#1 для шифрования<br />&nbsp; &nbsp; Открытый ключ ECC160 №#2 для ЭЦП</p><p>Что позволяет электронному ключу при обращении к загруженному коду успешно его проверять, расшифровывать и выполнять.</p></blockquote></div><p>Поэтому мне странно, что я тут уже почти неделю в этой теме разговариваю сам с собой... <br />Написали бы, что алгоритм есть, активно используем для себя и вам не дадим... колупайтесь сам.</p><p>Вырабатывается ощущение, что службе техподдержки нет дел до глупостей, которыми забивают себе голову их клиенты... либо мной был задан запредельно сложный технический вопрос, который требует недельной проработки... мдя...</p>]]></description>
			<author><![CDATA[null@example.com (mike_shubin)]]></author>
			<pubDate>Sun, 11 Dec 2016 11:55:36 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3400/#p3400</guid>
		</item>
		<item>
			<title><![CDATA[Re: Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3398/#p3398</link>
			<description><![CDATA[<p>Добрый вечер!</p><p>Это стандартный алгоритм шифрования с публичным ключом по схеме Эль-Гамаля (Elgamal) <br /><a href="https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%AD%D0%BB%D1%8C-%D0%93%D0%B0%D0%BC%D0%B0%D0%BB%D1%8F">https://ru.wikipedia.org/wiki/%D0%A1%D1 … 0%BB%D1%8F</a></p><p>В сети есть много реализаций этого алгоритма на С:<br /><a href="https://github.com/Chronic-Dev/libgcrypt/blob/master/cipher/elgamal.c">https://github.com/Chronic-Dev/libgcryp … /elgamal.c</a><br /><a href="http://en.pudn.com/downloads154/sourcecode/unix_linux/detail683853_en.html">http://en.pudn.com/downloads154/sourcec … 53_en.html</a><br /><a href="http://ifsttar.power-lan.com/p/pegase/source/file/master/uClinux-dist/lib/libgcrypt/libgcrypt-1.4.0/cipher/elgamal.c">http://ifsttar.power-lan.com/p/pegase/s … /elgamal.c</a><br />(и т.д., гугль в помощь)</p><p>Т.е. вопрос об использования этого шифрования на ключе Guardant Code не стоит - пиши да используй.<br />Но мне интересен аппаратный вариант этого алгоритма для ключей Guardant Sign. Математика та же самая, что используется при генерации ЭЦП...</p><p>Еще раз про преимущества этого алгоритма:<br /> - низкое потребление ресурсов<br /> - высокая криптостойкость<br /> - принципиальная однонаправленность, т.е. не секретные алгоритм и публичный ключ, но программно можно только зашифровать (расшифровка аппаратная). все симметричные варианты шифрования, когда ключ шифрования хранится в программе, ненадежны по определению</p>]]></description>
			<author><![CDATA[null@example.com (mike_shubin)]]></author>
			<pubDate>Fri, 09 Dec 2016 14:55:13 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3398/#p3398</guid>
		</item>
		<item>
			<title><![CDATA[Асимметричный алгоритм шифрования (не подпись!) на основе ECC160]]></title>
			<link>https://forum.guardant.ru/post/3389/#p3389</link>
			<description><![CDATA[<p>Добрый вечер!</p><p>Очень не хватает асимметричной криптографии в ключе и в API.<br />RSA очень ресурсоёмкий и для ARM не подходит, а ECC на порядок легче и более криптостойкий (вроде ECC-160 аналогичен по криптостойкости RSA-2048).<br />С таким алгоритмом можно особо не заботиться о публичном ключе, чего не сказать о симметричных вариантах.<br />Примерное применения:<br />- частичное шифрование обмена между модулями/классами приложения (шифрование параметров методов)<br />- частичное шифрование обмена между клиентом и сервером (ключ установлен на сервере)<br />- выборочное периодическое шифрование/дешифрование полей БД (небольших и редко используемых таблиц)</p><p>Насколько я понимаю, алгоритм шифрования и дешифровки слабо отличается от алгоритма подписывания и проверки подписи (поправьте, если я не прав). Т.е. несложно реализовать аппаратную дешифрацию и организовать работу через ключ практически в любом методе, сделав невозможной эмуляцию и взлом.</p><p>Естественно, для подписи и шифрования нужно использовать разные пары ключей.</p>]]></description>
			<author><![CDATA[null@example.com (mike_shubin)]]></author>
			<pubDate>Wed, 07 Dec 2016 19:30:08 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3389/#p3389</guid>
		</item>
	</channel>
</rss>
