CramerShoupCiphertext.smali
.class public Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;
.super Ljava/lang/Object;
.source "CramerShoupCiphertext.java"
# instance fields
.field e:Ljava/math/BigInteger;
.field u1:Ljava/math/BigInteger;
.field u2:Ljava/math/BigInteger;
.field v:Ljava/math/BigInteger;
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 17
return-void
.end method
.method public constructor <init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
.registers 5
.prologue
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
iput-object p1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
.line 22
iput-object p2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
.line 23
iput-object p3, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
.line 24
iput-object p4, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
.line 25
return-void
.end method
.method public constructor <init>([B)V
.registers 5
.prologue
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 32
const/4 v0, 0x0
invoke-static {p1, v0}, Lorg/spongycastle/util/Pack;->bigEndianToInt([BI)I
move-result v0
.line 34
const/4 v1, 0x4
add-int/lit8 v2, v0, 0x4
invoke-static {p1, v1, v2}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B
move-result-object v1
.line 35
add-int/lit8 v0, v0, 0x4
.line 36
new-instance v2, Ljava/math/BigInteger;
invoke-direct {v2, v1}, Ljava/math/BigInteger;-><init>([B)V
iput-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
.line 38
invoke-static {p1, v0}, Lorg/spongycastle/util/Pack;->bigEndianToInt([BI)I
move-result v1
.line 39
add-int/lit8 v0, v0, 0x4
.line 40
add-int v2, v0, v1
invoke-static {p1, v0, v2}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B
move-result-object v2
.line 41
add-int/2addr v0, v1
.line 42
new-instance v1, Ljava/math/BigInteger;
invoke-direct {v1, v2}, Ljava/math/BigInteger;-><init>([B)V
iput-object v1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
.line 44
invoke-static {p1, v0}, Lorg/spongycastle/util/Pack;->bigEndianToInt([BI)I
move-result v1
.line 45
add-int/lit8 v0, v0, 0x4
.line 46
add-int v2, v0, v1
invoke-static {p1, v0, v2}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B
move-result-object v2
.line 47
add-int/2addr v0, v1
.line 48
new-instance v1, Ljava/math/BigInteger;
invoke-direct {v1, v2}, Ljava/math/BigInteger;-><init>([B)V
iput-object v1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
.line 50
invoke-static {p1, v0}, Lorg/spongycastle/util/Pack;->bigEndianToInt([BI)I
move-result v1
.line 51
add-int/lit8 v0, v0, 0x4
.line 52
add-int/2addr v1, v0
invoke-static {p1, v0, v1}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B
move-result-object v0
.line 54
new-instance v1, Ljava/math/BigInteger;
invoke-direct {v1, v0}, Ljava/math/BigInteger;-><init>([B)V
iput-object v1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
.line 55
return-void
.end method
# virtual methods
.method public getE()Ljava/math/BigInteger;
.registers 2
.prologue
.line 79
iget-object v0, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
return-object v0
.end method
.method public getU1()Ljava/math/BigInteger;
.registers 2
.prologue
.line 59
iget-object v0, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
return-object v0
.end method
.method public getU2()Ljava/math/BigInteger;
.registers 2
.prologue
.line 69
iget-object v0, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
return-object v0
.end method
.method public getV()Ljava/math/BigInteger;
.registers 2
.prologue
.line 89
iget-object v0, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
return-object v0
.end method
.method public setE(Ljava/math/BigInteger;)V
.registers 2
.prologue
.line 84
iput-object p1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
.line 85
return-void
.end method
.method public setU1(Ljava/math/BigInteger;)V
.registers 2
.prologue
.line 64
iput-object p1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
.line 65
return-void
.end method
.method public setU2(Ljava/math/BigInteger;)V
.registers 2
.prologue
.line 74
iput-object p1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
.line 75
return-void
.end method
.method public setV(Ljava/math/BigInteger;)V
.registers 2
.prologue
.line 94
iput-object p1, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
.line 95
return-void
.end method
.method public toByteArray()[B
.registers 12
.prologue
const/4 v10, 0x0
.line 117
iget-object v0, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
invoke-virtual {v0}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v0
.line 118
array-length v1, v0
.line 119
iget-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
invoke-virtual {v2}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v2
.line 120
array-length v3, v2
.line 121
iget-object v4, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
invoke-virtual {v4}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v4
.line 122
array-length v5, v4
.line 123
iget-object v6, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
invoke-virtual {v6}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v6
.line 124
array-length v7, v6
.line 127
add-int v8, v1, v3
add-int/2addr v8, v5
add-int/2addr v8, v7
add-int/lit8 v8, v8, 0x10
new-array v8, v8, [B
.line 128
invoke-static {v1, v8, v10}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 130
const/4 v9, 0x4
invoke-static {v0, v10, v8, v9, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 131
add-int/lit8 v0, v1, 0x4
.line 132
invoke-static {v3, v8, v0}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 133
add-int/lit8 v0, v0, 0x4
.line 134
invoke-static {v2, v10, v8, v0, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 135
add-int/2addr v0, v3
.line 136
invoke-static {v5, v8, v0}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 137
add-int/lit8 v0, v0, 0x4
.line 138
invoke-static {v4, v10, v8, v0, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 139
add-int/2addr v0, v5
.line 140
invoke-static {v7, v8, v0}, Lorg/spongycastle/util/Pack;->intToBigEndian(I[BI)V
.line 141
add-int/lit8 v0, v0, 0x4
.line 142
invoke-static {v6, v10, v8, v0, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 145
return-object v8
.end method
.method public toString()Ljava/lang/String;
.registers 4
.prologue
.line 99
new-instance v0, Ljava/lang/StringBuffer;
invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V
.line 101
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "u1: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u1:Ljava/math/BigInteger;
invoke-virtual {v2}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 102
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\nu2: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->u2:Ljava/math/BigInteger;
invoke-virtual {v2}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 103
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\ne: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->e:Ljava/math/BigInteger;
invoke-virtual {v2}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 104
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\nv: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lorg/spongycastle/crypto/engines/CramerShoupCiphertext;->v:Ljava/math/BigInteger;
invoke-virtual {v2}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 106
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method