GF2Field.smali
.class public Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;
.super Ljava/lang/Object;
.source "GF2Field.java"
# static fields
.field public static final MASK:I = 0xff
.field static final exps:[S
.field static final logs:[S
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/16 v1, 0x100
.line 22
new-array v0, v1, [S
fill-array-data v0, :array_12
sput-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->exps:[S
.line 45
new-array v0, v1, [S
fill-array-data v0, :array_116
sput-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->logs:[S
return-void
.line 22
nop
:array_12
.array-data 2
0x1s
0x2s
0x4s
0x8s
0x10s
0x20s
0x40s
0x80s
0x4ds
0x9as
0x79s
0xf2s
0xa9s
0x1fs
0x3es
0x7cs
0xf8s
0xbds
0x37s
0x6es
0xdcs
0xf5s
0xa7s
0x3s
0x6s
0xcs
0x18s
0x30s
0x60s
0xc0s
0xcds
0xd7s
0xe3s
0x8bs
0x5bs
0xb6s
0x21s
0x42s
0x84s
0x45s
0x8as
0x59s
0xb2s
0x29s
0x52s
0xa4s
0x5s
0xas
0x14s
0x28s
0x50s
0xa0s
0xds
0x1as
0x34s
0x68s
0xd0s
0xeds
0x97s
0x63s
0xc6s
0xc1s
0xcfs
0xd3s
0xebs
0x9bs
0x7bs
0xf6s
0xa1s
0xfs
0x1es
0x3cs
0x78s
0xf0s
0xads
0x17s
0x2es
0x5cs
0xb8s
0x3ds
0x7as
0xf4s
0xa5s
0x7s
0xes
0x1cs
0x38s
0x70s
0xe0s
0x8ds
0x57s
0xaes
0x11s
0x22s
0x44s
0x88s
0x5ds
0xbas
0x39s
0x72s
0xe4s
0x85s
0x47s
0x8es
0x51s
0xa2s
0x9s
0x12s
0x24s
0x48s
0x90s
0x6ds
0xdas
0xf9s
0xbfs
0x33s
0x66s
0xccs
0xd5s
0xe7s
0x83s
0x4bs
0x96s
0x61s
0xc2s
0xc9s
0xdfs
0xf3s
0xabs
0x1bs
0x36s
0x6cs
0xd8s
0xfds
0xb7s
0x23s
0x46s
0x8cs
0x55s
0xaas
0x19s
0x32s
0x64s
0xc8s
0xdds
0xf7s
0xa3s
0xbs
0x16s
0x2cs
0x58s
0xb0s
0x2ds
0x5as
0xb4s
0x25s
0x4as
0x94s
0x65s
0xcas
0xd9s
0xffs
0xb3s
0x2bs
0x56s
0xacs
0x15s
0x2as
0x54s
0xa8s
0x1ds
0x3as
0x74s
0xe8s
0x9ds
0x77s
0xees
0x91s
0x6fs
0xdes
0xf1s
0xafs
0x13s
0x26s
0x4cs
0x98s
0x7ds
0xfas
0xb9s
0x3fs
0x7es
0xfcs
0xb5s
0x27s
0x4es
0x9cs
0x75s
0xeas
0x99s
0x7fs
0xfes
0xb1s
0x2fs
0x5es
0xbcs
0x35s
0x6as
0xd4s
0xe5s
0x87s
0x43s
0x86s
0x41s
0x82s
0x49s
0x92s
0x69s
0xd2s
0xe9s
0x9fs
0x73s
0xe6s
0x81s
0x4fs
0x9es
0x71s
0xe2s
0x89s
0x5fs
0xbes
0x31s
0x62s
0xc4s
0xc5s
0xc7s
0xc3s
0xcbs
0xdbs
0xfbs
0xbbs
0x3bs
0x76s
0xecs
0x95s
0x67s
0xces
0xd1s
0xefs
0x93s
0x6bs
0xd6s
0xe1s
0x8fs
0x53s
0xa6s
0x1s
.end array-data
.line 45
:array_116
.array-data 2
0x0s
0x0s
0x1s
0x17s
0x2s
0x2es
0x18s
0x53s
0x3s
0x6as
0x2fs
0x93s
0x19s
0x34s
0x54s
0x45s
0x4s
0x5cs
0x6bs
0xb6s
0x30s
0xa6s
0x94s
0x4bs
0x1as
0x8cs
0x35s
0x81s
0x55s
0xaas
0x46s
0xds
0x5s
0x24s
0x5ds
0x87s
0x6cs
0x9bs
0xb7s
0xc1s
0x31s
0x2bs
0xa7s
0xa3s
0x95s
0x98s
0x4cs
0xcas
0x1bs
0xe6s
0x8ds
0x73s
0x36s
0xcds
0x82s
0x12s
0x56s
0x62s
0xabs
0xf0s
0x47s
0x4fs
0xes
0xbds
0x6s
0xd4s
0x25s
0xd2s
0x5es
0x27s
0x88s
0x66s
0x6ds
0xd6s
0x9cs
0x79s
0xb8s
0x8s
0xc2s
0xdfs
0x32s
0x68s
0x2cs
0xfds
0xa8s
0x8as
0xa4s
0x5as
0x96s
0x29s
0x99s
0x22s
0x4ds
0x60s
0xcbs
0xe4s
0x1cs
0x7bs
0xe7s
0x3bs
0x8es
0x9es
0x74s
0xf4s
0x37s
0xd8s
0xces
0xf9s
0x83s
0x6fs
0x13s
0xb2s
0x57s
0xe1s
0x63s
0xdcs
0xacs
0xc4s
0xf1s
0xafs
0x48s
0xas
0x50s
0x42s
0xfs
0xbas
0xbes
0xc7s
0x7s
0xdes
0xd5s
0x78s
0x26s
0x65s
0xd3s
0xd1s
0x5fs
0xe3s
0x28s
0x21s
0x89s
0x59s
0x67s
0xfcs
0x6es
0xb1s
0xd7s
0xf8s
0x9ds
0xf3s
0x7as
0x3as
0xb9s
0xc6s
0x9s
0x41s
0xc3s
0xaes
0xe0s
0xdbs
0x33s
0x44s
0x69s
0x92s
0x2ds
0x52s
0xfes
0x16s
0xa9s
0xcs
0x8bs
0x80s
0xa5s
0x4as
0x5bs
0xb5s
0x97s
0xc9s
0x2as
0xa2s
0x9as
0xc0s
0x23s
0x86s
0x4es
0xbcs
0x61s
0xefs
0xccs
0x11s
0xe5s
0x72s
0x1ds
0x3ds
0x7cs
0xebs
0xe8s
0xe9s
0x3cs
0xeas
0x8fs
0x7ds
0x9fs
0xecs
0x75s
0x1es
0xf5s
0x3es
0x38s
0xf6s
0xd9s
0x3fs
0xcfs
0x76s
0xfas
0x1fs
0x84s
0xa0s
0x70s
0xeds
0x14s
0x90s
0xb3s
0x7es
0x58s
0xfbs
0xe2s
0x20s
0x64s
0xd0s
0xdds
0x77s
0xads
0xdas
0xc5s
0x40s
0xf2s
0x39s
0xb0s
0xf7s
0x49s
0xb4s
0xbs
0x7fs
0x51s
0x15s
0x43s
0x91s
0x10s
0x71s
0xbbs
0xees
0xbfs
0x85s
0xc8s
0xa1s
.end array-data
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static addElem(SS)S
.registers 3
.prologue
.line 74
xor-int v0, p0, p1
int-to-short v0, v0
return v0
.end method
.method public static getExp(S)S
.registers 2
.prologue
.line 123
sget-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->exps:[S
aget-short v0, v0, p0
return v0
.end method
.method public static getLog(S)S
.registers 2
.prologue
.line 135
sget-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->logs:[S
aget-short v0, v0, p0
return v0
.end method
.method public static invElem(S)S
.registers 3
.prologue
.line 87
if-nez p0, :cond_4
.line 89
const/4 v0, 0x0
.line 91
:goto_3
return v0
:cond_4
sget-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->exps:[S
sget-object v1, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->logs:[S
aget-short v1, v1, p0
rsub-int v1, v1, 0xff
aget-short v0, v0, v1
goto :goto_3
.end method
.method public static multElem(SS)S
.registers 5
.prologue
.line 104
if-eqz p0, :cond_4
if-nez p1, :cond_6
.line 106
:cond_4
const/4 v0, 0x0
.line 110
:goto_5
return v0
:cond_6
sget-object v0, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->exps:[S
sget-object v1, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->logs:[S
aget-short v1, v1, p0
sget-object v2, Lorg/spongycastle/pqc/crypto/rainbow/util/GF2Field;->logs:[S
aget-short v2, v2, p1
add-int/2addr v1, v2
rem-int/lit16 v1, v1, 0xff
aget-short v0, v0, v1
goto :goto_5
.end method