<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[wolfSSL - Embedded SSL Library — Curve25519 implementation]]></title>
		<link>https://www.wolfssl.com/forums/topic1004-curve25519-implementation.html</link>
		<atom:link href="https://www.wolfssl.com/forums/feed-rss-topic1004.xml" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Curve25519 implementation.]]></description>
		<lastBuildDate>Fri, 10 Nov 2017 22:02:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3660.html#p3660</link>
			<description><![CDATA[<p>Hi Michela,</p><p>Thank you for the information. It would be good to have the public key generation for testing purposes. Generation of public keys from private curve25519 keys has been added to the desired feature list.</p><p>The output for key generation of Ed25519 is in little endian. In the case of curve25519 there was some drafts out at the time of implementation that were using a big endian format. To have the curve25519 implementation interop with some of the early TLS curve25519 drafts the use of exporting/importing big endian keys was enabled.</p><p>Regards,<br />Jacob</p>]]></description>
			<author><![CDATA[null@example.com (Jacob)]]></author>
			<pubDate>Fri, 10 Nov 2017 22:02:07 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3660.html#p3660</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3638.html#p3638</link>
			<description><![CDATA[<p>Hi Jacob,</p><p>I wanted to recreate the key pair from the private key to perform a check of the endianness. <br />I was thinking that this key regeneration API could be also useful for checking the correctness of the imported key pair. When I import private/public key, if the key gets recreated, then a comparison between the recreated public key and the one passed in could signal an error in the imported key pair. I see this useful when performing tests.</p><p>I would have another question this time related to Ed25519 (should I open another topic for this?). I couldn&#039;t find in the source code any comment about the endianness of the exported keys. I have looked into the API code and what I could get from the maths operation is that the outputted keys should be big endian. Could you confirm that my understanding is correct? <br />In curve25519 case, import/export methods can be adapted to the desired endianness. Why that is not possible for ed25519? </p><p>Thank you very much for your help.</p><p>Regards, <br />Michela</p>]]></description>
			<author><![CDATA[null@example.com (michymd)]]></author>
			<pubDate>Wed, 25 Oct 2017 15:25:06 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3638.html#p3638</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3577.html#p3577</link>
			<description><![CDATA[<p>Hi Michela,</p><p>That is correct. There currently is not API for generating a public key from a private key. Or an automated derivation of the public key from an imported private key. Will add this functionality to the desired feature list.</p><p>Can you share some about the project and use case?</p><p>Regards,<br />Jacob</p>]]></description>
			<author><![CDATA[null@example.com (Jacob)]]></author>
			<pubDate>Fri, 29 Sep 2017 18:12:30 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3577.html#p3577</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3537.html#p3537</link>
			<description><![CDATA[<p>Hi Jacob,</p><p>is there an API that allows to compute a public key by providing a private key as input? I have had a look at the import functions and if I&#039;m not wrong the import of the private key doesn&#039;t trigger the derivation of the public key.</p><p>Thanks,<br />Michela</p>]]></description>
			<author><![CDATA[null@example.com (michymd)]]></author>
			<pubDate>Fri, 15 Sep 2017 13:26:44 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3537.html#p3537</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3314.html#p3314</link>
			<description><![CDATA[<p>That&#039;s great! Glad to help.</p><p>Thanks for asking the question. This will be a good resource for others that may encounter the same thing.</p><p>Regards,<br />Jacob</p>]]></description>
			<author><![CDATA[null@example.com (Jacob)]]></author>
			<pubDate>Tue, 13 Jun 2017 16:10:03 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3314.html#p3314</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3309.html#p3309</link>
			<description><![CDATA[<p>Hi Jacob,</p><p>I inverted the bytes of the private key I obtain by using wolfSSL wc_curve25519_make_key(..), input that into another librariy and finally got the same public key! Thank you for mentioning the little/bin endian format <img src="https://www.wolfssl.com/forums/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>Regards, <br />Michela</p>]]></description>
			<author><![CDATA[null@example.com (michymd)]]></author>
			<pubDate>Tue, 13 Jun 2017 09:16:17 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3309.html#p3309</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3302.html#p3302</link>
			<description><![CDATA[<p>Hi Jacob,</p><p>thanks for replying.<br />What I did was to generate the key pair using wc_curve25519_make_key(..). Then printed the private key and used it to generate the public key using other libraries, among which the one I mention in the post that generates a different public key. I used yet another library with which I get the same public key generated with wolfSSL API. I&#039;ll try to use the *_ex function instead and see if I get the same public key.</p><p>Thanks,<br />Michela</p>]]></description>
			<author><![CDATA[null@example.com (michymd)]]></author>
			<pubDate>Tue, 06 Jun 2017 08:32:01 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3302.html#p3302</guid>
		</item>
		<item>
			<title><![CDATA[Re: Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3289.html#p3289</link>
			<description><![CDATA[<p>Hi Michela,</p><p>Which APIs are being used with wolfSSL to generate a public key from the private key? One thing to keep in mind is that wolfSSL&#039;s export/import curve25519 key functions use Big Endian format. It can optionally be selected big or little endian with *_ex functions</p><p>Regards,<br />Jacob</p>]]></description>
			<author><![CDATA[null@example.com (Jacob)]]></author>
			<pubDate>Fri, 02 Jun 2017 21:42:53 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3289.html#p3289</guid>
		</item>
		<item>
			<title><![CDATA[Curve25519 implementation]]></title>
			<link>https://www.wolfssl.com/forums/post3281.html#p3281</link>
			<description><![CDATA[<p>Hi,</p><p>I wanted to ask a question about the implementation of Curve25519. I have used wolfssl and the &quot;donna&quot; implementation <a href="https://code.google.com/archive/p/curve25519-donna/.">https://code.google.com/archive/p/curve25519-donna/.</a> I have used the same private key with the two libraries to generate the public key but got two different public keys. What are the differences in the implementation of this curves? How does wolfssl differ from the donna implementation and what are the security implications?</p><p>Thanks a lot.</p><p>Kind regards, <br />Michela</p>]]></description>
			<author><![CDATA[null@example.com (michymd)]]></author>
			<pubDate>Thu, 01 Jun 2017 10:40:16 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post3281.html#p3281</guid>
		</item>
	</channel>
</rss>
