1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-23 20:15:19 -07:00

scalarmult: check that the top bit is ignored

This commit is contained in:
Frank Denis 2014-09-18 21:27:49 -07:00
parent 595e98a224
commit b062a555da
10 changed files with 57 additions and 0 deletions

1
.gitignore vendored
View File

@ -93,6 +93,7 @@ test/default/scalarmult
test/default/scalarmult2
test/default/scalarmult5
test/default/scalarmult6
test/default/scalarmult7
test/default/secretbox
test/default/secretbox2
test/default/secretbox7

View File

@ -157,6 +157,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View File

@ -91,6 +91,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<Filter>src</Filter>
</ClCompile>

View File

@ -157,6 +157,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View File

@ -91,6 +91,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<Filter>src</Filter>
</ClCompile>

View File

@ -157,6 +157,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View File

@ -91,6 +91,9 @@
<ClCompile Include="..\..\..\..\test\default\scalarmult6.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\scalarmult7.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\default\secretbox.c">
<Filter>src</Filter>
</ClCompile>

View File

@ -40,6 +40,7 @@ EXTRA_DIST = \
scalarmult2.exp \
scalarmult5.exp \
scalarmult6.exp \
scalarmult7.exp \
secretbox.exp \
secretbox2.exp \
secretbox7.exp \
@ -98,6 +99,7 @@ DISTCLEANFILES = \
scalarmult2.res \
scalarmult5.res \
scalarmult6.res \
scalarmult7.res \
secretbox.res \
secretbox2.res \
secretbox7.res \
@ -163,6 +165,7 @@ TESTS_TARGETS = \
scalarmult2 \
scalarmult5 \
scalarmult6 \
scalarmult7 \
secretbox \
secretbox2 \
secretbox7 \
@ -300,6 +303,9 @@ scalarmult5_LDADD = $(TESTS_LDADD)
scalarmult6_SOURCE = cmptest.h scalarmult6.c
scalarmult6_LDADD = $(TESTS_LDADD)
scalarmult7_SOURCE = cmptest.h scalarmult7.c
scalarmult7_LDADD = $(TESTS_LDADD)
secretbox_SOURCE = cmptest.h secretbox.c
secretbox_LDADD = $(TESTS_LDADD)

View File

@ -0,0 +1,31 @@
#define TEST_NAME "scalarmult7"
#include "cmptest.h"
unsigned char p1[32] = {
0x72, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0xea
};
unsigned char p2[32] = {
0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a
};
unsigned char scalar[32];
unsigned char out1[32];
unsigned char out2[32];
int main(void)
{
scalar[0] = 1U;
crypto_scalarmult_curve25519(out1, scalar, p1);
crypto_scalarmult_curve25519(out2, scalar, p2);
printf("%d\n", !!memcmp(out1, out2, 32));
return 0;
}

View File

@ -0,0 +1 @@
1