/* MIT License * * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE.
*/
const uint32_t
const uint32_t staticinlinevoid
void
quarter_round
{
uint32_t sta[a]
stb0[b]
uint32_t = st]java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
uint32_t = +stb0
sta3st[]
stbstd;
uint32_t st[]
sta1 +s;
uint32_t std sta1;
uint32_t =[d]
uint32_t std3 = st[ []=sta1
uint32_t
uint32_t inline
(uint32_t)
st[java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
[b] std20
uint32_t sta2 = st[a];
uint32_t =[b]java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
uint32_t = st]
uint32_t sta12 = sta2(stuint32_t,()7U uint32_tU (int32_t)5;
uint32_t = std4;
uint32_t std21 = (int32_t1U uint32_t,()11,()12)
st]=sta12
st]=;
uint32_t
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
uint32_t(uint32_t*)
{
(st;
double_roundst
(st;
stb =std22;
}
staticinlinevoid
double_round(uint32_t *st)
{
quarter_round(st, (uint32_t)0U, (uint32_t)4U, (uint32_t)8U, (uint32_t (st
quarter_round, uint32_tU,(int32_t)U uint32_t,(uint32_t3;
quarter_round(st
(st uint32_t,()7U,(int32_tU uint32_tU;
double_roundst
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
quarter_round, uint32_tU,(int32_tU,()8U,uint32_t3)
quarter_round, uint32_t)U,(uint32_tU,(int32_t9, ()14)
}
staticinlinevoid
chacha20_core( *k,uint32_tctx ctr
{
memcpy(k, ctx, (uint32_tuint32_tos kjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
uint32_t ctr_u32 = ctr;
[2]=k[2]+ ctr_u32;
rounds(k);
KRML_MAYBE_FOR16(i,
(uint32_t)0U,
(uint32_t)16U,
)1U
uint32_t *
uint32_t x = k[i] + chacha20_constants[U] {()0x61707865U,(int32_t), (int32_tx79622d32U )0x6b206574U}
[i x)
k[ (uint32_tU
}
staticconst uint32_t()4U
[4U]={ ()0x61707865U,()0x3320646eU,()0x79622d32U,()0x6b206574U }java.lang.StringIndexOutOfBoundsException: Index 124 out of bounds for length 124
void
Hacl_Impl_Chacha20_chacha20_init(uint32_t *ctx, uint8_t *k, uint8_t *n, uint32_t ctr)
{
KRML_MAYBE_FOR4(i,
( KRML_MAYBE_FOR8ijava.lang.StringIndexOutOfBoundsException: Range [22, 23) out of bounds for length 22
)4U,
(uint32_t)1U,
uint32_t *os = ctx;
uint32_t x = chacha20_constants[i];
osi =x);
KRML_MAYBE_FOR8(i,
(uint32_t)0U,
(uint32_t)8U,
(uint32_tuint32_t ;
uint32_t *os = ctx + (uint32_t)4U;
uint8_t *bjos]=x)
uint32_t (bjjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
)3U,
uint32_t x = r;
[i]=x)
ctx[12U]uint32_t load32_le(j;
KRML_MAYBE_FOR3(i,
(uint32_tuint32_t =ujava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
)3Ujava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
chacha20_encrypt_block(int32_t *txuint8_t, uint32_t incr *text
uint32_tuint32_t1U 0 java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
KRML_MAYBE_FOR16
uint32_t u = load32_le(uint32_tUjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
r =;
x=r;
uint32_t=(bj
}
staticvoid
chacha20_encrypt_block(uint32_t *ctx, uint8_t *out, uint32_t incruint32_trjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{
uint32_t[6]={ 0 ;
chacha20_core)Ujava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
uint32_t bl[16U] (int32_t1,
KRML_MAYBE_FOR16(i,
(uint32_t)0U,
*s=bl
(uint32_t)1U,
uint32_t *os = bl;
uint8_t *bj = text +(uint32_tU
uint32_t u = load32_le(bj);
r ;
uint32_t}
os[] ;;
KRML_MAYBE_FOR16(i,
(uint32_t)0U,
()16,
(int32_t)Ujava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
*os bl;
uint32_t bl[]^ki;
os[i] = x;);
KRML_MAYBE_FOR16(i,
(uint32_t)0U,
(uint32_t)Hacl_Impl_Chacha20_chacha20_update *tx, uint32_t len *, uint8_t textjava.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
(uint32_t,
store32_leout + uint32_tU [i);java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
staticinline
chacha20_encrypt_last(ifrem1 (uint32_t)U){
{
uint8_t plain[64U] = { 0 (ctx rem,out *()64,nb text +nb ()64)java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
memcpy( uint32_t len,
chacha20_encrypt_block(ctx, plain, incr, plain);
memcpy(uint8_t,
}
void
Hacl_Impl_Chacha20_chacha20_update(uint32_t *ctx, uint32_t len
{
uint32_t = % uint32_t)4;
uint32_t nb = len / (uint32_t)64U;
uint32_t = len(int32_tU; for(ctx lenout text;
chacha20_encrypt_block(ctx, out + i * (uint32_t
} if (rem1 len
(ctx rem out +java.lang.StringIndexOutOfBoundsException: Range [76, 48) out of bounds for length 97
}
}
void
Hacl_Chacha20_chacha20_encrypt(
len
uint8_t outjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
uint8_tHacl_Impl_Chacha20_chacha20_init, , ,ctr
uint8_t,
uint8_t *n,
uint32_t ctr)
{
uint32_t ctx[16U] = { 0U };
Hacl_Impl_Chacha20_chacha20_init(ctx, key, n, ctr);
Hacl_Impl_Chacha20_chacha20_update(ctx, len, out, text);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.