feat(net): add SRP6_Random

This commit is contained in:
fallenoak 2023-01-08 22:21:42 -06:00 committed by GitHub
parent ae66f35543
commit 4d63d1ea8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,16 @@
#include "net/srp/SRP6_Random.hpp"
#include <cstring>
#include <common/SHA1.hpp>
SRP6_Random::SRP6_Random(const void* seed, uint32_t seedLen) {
SHA1_CONTEXT ctx;
SHA1_Init(&ctx);
SHA1_Update(&ctx, static_cast<const uint8_t*>(seed), seedLen);
SHA1_Final(reinterpret_cast<uint8_t*>(this->m_randkey1), &ctx);
memcpy(this->m_randkey2, this->m_randkey1, sizeof(this->m_randkey2));
memset(this->m_randpool, 0, sizeof(this->m_randpool));
this->m_inpool = 0;
}

View File

@ -0,0 +1,18 @@
#ifndef NET_SRP_SRP6_RANDOM_HPP
#define NET_SRP_SRP6_RANDOM_HPP
#include <cstdint>
class SRP6_Random {
public:
// Member variables
char m_randkey1[20];
char m_randkey2[20];
char m_randpool[20];
uint32_t m_inpool;
// Member functions
SRP6_Random(const void* seed, uint32_t seedLen);
};
#endif