Algoritma ECC

on Selasa, 24 Juli 2018

Elliptic-curve cryptography (ECC) adalah pendekatan untuk kriptografi kunci publik berdasarkan struktur aljabar dari kurva elips di atas bidang terbatas. ECC membutuhkan kunci yang lebih kecil dibandingkan dengan kriptografi non-ECC untuk memberikan keamanan yang setara.

Kurva Elliptic berlaku untuk perjanjian kunci, tanda tangan digital, generator pseudo-random dan tugas lainnya. Secara tidak langsung, mereka dapat digunakan untuk enkripsi dengan menggabungkan perjanjian kunci dengan skema enkripsi simetris.

Sumber : https://en.wikipedia.org/wiki/Elliptic-curve_cryptography

Pembuatan Kunci
1. Tentukan nilai P, n, dan d. 
P = titik pada kurva
n = batas maximum kurva (bil prima)
d = Private key (bilangan acak antara 1 s/d n-1)

cth:
P = 7
n = 23
d = 17

2. Menghitung nilai Q (public key)
Q = d * P
Q = 17 * 7
Q = 119

public key = Q = 119
private key = d = 17

Enkripsi
cth:
plaintext = "A"

1.  Tentukan M (nilai ASCII dari plaintext)
M=65

2. Tentukan nilai k (bil acak antara 1 s/d n-1)
cth: k = 5

3. Hitung C1
C1 = k * P
C1 = 5 * 7
C1 = 35

4. Hitung C2
C2 = M + k * Q
C2 = 65 + 5 * 119
C2 = 660

nilai yang dikirimkan adalah C1 dan C2 : 35, 660

Dekripsi
Nilai yang diterima: C1=35, C2=660

Masukkan ke rumus M
M = C2 - d * C1
M = 660 - 17 * 35
M = 65

DataGridView - Penjualan

on Rabu, 24 Januari 2018




Public Class Penjualan

    Private Sub cbBarang_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbBarang.SelectedIndexChanged
        If cbBarang.Text = "B001" Then
            txtNama.Text = "Spidol"
            txtHarga.Text = 23000
        ElseIf cbBarang.Text = "B002" Then
            txtNama.Text = "Buku"
            txtHarga.Text = 5000
        ElseIf cbBarang.Text = "B003" Then
            txtNama.Text = "Pulpen"
            txtHarga.Text = 3500
        Else
            MessageBox.Show("Kode barang tidak tersedia")
        End If
    End Sub

    Private Sub btnTambahkan_Click(sender As Object, e As EventArgs) Handles btnTambahkan.Click
        Dim row As String() = New String() {cbBarang.Text, txtNama.Text, txtHarga.Text, txtKts.Text, Val(txtHarga.Text) * Val(txtKts.Text)}
        DataGridView1.Rows.Add(row)
        Me.cbBarang.Text = ""
        Me.txtNama.Clear()
        Me.txtHarga.Clear()
        Me.txtKts.Clear()
    End Sub

    Private Sub Penjualan_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'menentukan jumlah kolom
        DataGridView1.ColumnCount = 5
        'memberi judul kolom
        DataGridView1.Columns(0).Name = "Kode Barang"
        DataGridView1.Columns(1).Name = "Nama Barang"
        DataGridView1.Columns(2).Name = "Harga"
        DataGridView1.Columns(3).Name = "Kuantitas"
        DataGridView1.Columns(4).Name = "Jumlah"

    End Sub

    Private Sub btnHitung_Click(sender As Object, e As EventArgs) Handles btnHitung.Click
        Dim i As Integer
        Dim jlh As Double = 0
        For i = 0 To Me.DataGridView1.Rows.Count - 1
            jlh = jlh + Val(Me.DataGridView1.Rows(i).Cells(4).Value)
        Next

        txtSub.Text = jlh
    End Sub

    Private Sub txtDiskon_TextChanged(sender As Object, e As EventArgs) Handles txtDiskon.TextChanged
        If Val(txtDiskon.Text) <= Val(txtSub.Text) Then
            txtGrand.Text = Val(txtSub.Text) - Val(txtDiskon.Text)
        Else
            txtGrand.Text = 0
        End If
    End Sub

    Private Sub txtBayar_TextChanged(sender As Object, e As EventArgs) Handles txtBayar.TextChanged
        If Val(txtBayar.Text) >= Val(txtGrand.Text) Then
            txtKembalian.Text = Val(txtBayar.Text) - Val(txtGrand.Text)
        Else
            txtKembalian.Text = 0
        End If
    End Sub
End Class

DataGridView


DataGridView dirancang untuk menjadi solusi lengkap untuk menampilkan data tabular dengan Windows Forms. Kontrol DataGridView sangat dapat dikonfigurasi dan dapat diperluas, dan menyediakan banyak properti, metode, dan event untuk menyesuaikan tampilan dan tingkah lakunya. Kontrol DataGridView digunakan untuk menampilkan data dari berbagai sumber data eksternal. Sebagai alternatif, Anda dapat menambahkan baris dan kolom ke kontrol dan mengisi secara manual dengan data.




Public Class Form2

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'menentukan jumlah kolom
        DataGridView1.ColumnCount = 3
        'memberi judul kolom
        DataGridView1.Columns(0).Name = "Judul 1"
        DataGridView1.Columns(1).Name = "Judul 2"
        DataGridView1.Columns(2).Name = "Judul 3"
        'menambahkan isi
        Dim row As String() = New String() {"Baris 1 kolom 1", "Baris 1 kolom 2", "Baris 1 kolom 3"}
        DataGridView1.Rows.Add(row)
        row = New String() {"Baris 2 kolom 1", "Baris 2 kolom 2", "Baris 2 kolom 3"}
        DataGridView1.Rows.Add(row)
        row = New String() {"Baris 3 kolom 1", "Baris 3 kolom 2", "Baris 3 kolom 3"}
        DataGridView1.Rows.Add(row)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'mengambil nilai DataGridView yang dipilih
        Dim satu, dua, tiga As String
        satu = DataGridView1.SelectedRows.Item(0).Cells(0).Value
        dua = DataGridView1.SelectedRows.Item(0).Cells(1).Value
        tiga = DataGridView1.SelectedRows.Item(0).Cells(2).Value
        'menampilkan nilai ke messagebox
        MessageBox.Show(satu & "," & dua & "," & tiga)
    End Sub
End Class