Bagaimana cara memverifikasi nomor dengan Bob tanpa Hawa tahu?


49

Anda perlu memeriksa apakah teman Anda, Bob, memiliki nomor telepon yang benar, tetapi Anda tidak dapat menanyakannya secara langsung. Anda harus menulis pertanyaan pada kartu yang mana dan memberikannya kepada Hawa yang akan membawa kartu itu kepada Bob dan mengembalikan jawabannya kepada Anda. Apa yang harus Anda tulis di kartu, selain pertanyaan, untuk memastikan Bob dapat menyandikan pesan sehingga Eve tidak dapat membaca nomor telepon Anda?

Catatan: Pertanyaan ini ada di daftar "pertanyaan wawancara google". Akibatnya, ada banyak versi pertanyaan ini di web, dan banyak dari mereka tidak memiliki jawaban yang jelas, atau bahkan benar.

Catatan 2: Jawaban snarky untuk pertanyaan ini adalah bahwa Bob harus menulis "panggil aku". Ya, itu sangat pintar, 'di luar kotak' dan segalanya, tetapi tidak menggunakan teknik apa pun di bidang CS tempat kami memanggil pahlawan kami "Bob" dan musuhnya yang menguping "Eve".

Pembaruan:
Poin bonus untuk algoritme yang Anda dan Bob bisa tangani dengan cukup baik.

Pembaruan 2:
Perhatikan bahwa Bob tidak harus mengirimi Anda pesan sewenang-wenang, tetapi hanya mengkonfirmasi bahwa ia memiliki nomor telepon Anda yang benar tanpa Hawa bisa memecahkan kode itu, yang mungkin atau mungkin tidak mengarah ke solusi yang lebih sederhana.


1
Tetapi "panggil saya" sama sekali tidak masuk akal, dia belum memiliki nomor telepon yang benar atau setidaknya Anda tidak yakin apakah itu benar, jadi saya pikir itu tidak terlalu pintar.
Gigili

1
@Gigili jika Anda mendapat telepon darinya, maka ia memiliki nomor Anda, jika Anda tidak mendapat telepon, maka dia tidak.
Joe

1
Oh benar Saya masih berpikir itu tidak pintar!
Gigili

Jawaban lidah-di-pipi lainnya mungkin Caesar cipher . Sekalipun Eve mencoba semua kemungkinan offset, ia tidak punya alasan untuk memilih satu urutan digit di atas yang lain (pendek mencoba memanggil mereka semua).
Raphael

2
@ Raphael Bukankah hanya ada 10 sandi caesar yang mungkin lebih dari satu digit?
Joe

Jawaban:


27

Pertama, kita harus berasumsi bahwa Hawa hanya pasif. Maksud saya, dia dengan jujur ​​mengirim kartu itu kepada Bob, dan apa pun yang dia bawa kembali ke Alice adalah jawaban Bob. Jika Eve dapat mengubah data di salah satu atau kedua arah (dan tindakannya tetap tidak terdeteksi) maka apa pun berjalan.

(Untuk menghormati tradisi lama, dua pihak yang jujur ​​yang terlibat dalam percakapan disebut Alice dan Bob. Dalam teks Anda, Anda mengatakan "Anda". Nama asli saya bukan "Alice", tetapi saya akan merespons seperti jika Anda menulis bahwa Alice ingin memverifikasi nomor telepon Bob.)

Jawaban sederhana (tapi lemah) adalah menggunakan fungsi hash. Alice menulis di kartu: "kembalikan kepadaku hash SHA-256 dari nomor teleponmu". SHA-256 adalah fungsi hash kriptografis yang diyakini aman, sejauh fungsi hash berjalan. Menghitungnya dengan tangan akan membosankan tetapi masih bisa dilakukan (itu sekitar 2.500 operasi 32-bit, di mana setiap operasi adalah penambahan, pergeseran atau rotasi kata, atau kombinasi bit bitwise; Bob harus dapat melakukannya dalam satu hari atau begitu).

Sekarang apa yang lemah tentang itu? SHA-256, menjadi fungsi hash kriptografis, tahan terhadap "preimage": ini berarti bahwa dengan memberikan hasil hash, sangat sulit untuk memulihkan input yang sesuai (itulah masalah yang dihadapi Hawa). Namun, "sangat keras" berarti "metode termudah adalah kekerasan: mencoba input yang mungkin sampai kecocokan ditemukan". Masalahnya adalah kekuatan kasar itu mudah di sini: tidak ada begitu banyak nomor telepon yang mungkin (di Amerika Utara, itu 10 digit, yaitu hanya 10 miliar). Bob ingin melakukan sesuatu dengan tangan, tetapi kita tidak bisa berasumsi bahwa Hawa sangat terbatas. PC dasar dapat mencoba beberapa juta hash SHA-256 per detik sehingga Hawa akan selesai dalam waktu kurang dari satu jam (kurang dari 5 menit jika dia menggunakan GPU).

Ini adalah masalah umum: jika Bob deterministik (yaitu untuk pesan yang diberikan dari Alice, ia akan selalu mengembalikan respons yang sama), Eve dapat mensimulasikannya. Yaitu, Eve tahu segalanya tentang Bob kecuali nomor teleponnya, jadi ia sebenarnya mengelola 10 miliar Bobs, yang hanya berbeda dengan nomor telepon yang mereka duga; dan dia menunggu salah satu Bobs virtual untuk mengembalikan apa pun yang sebenarnya dikembalikan oleh Bob yang sebenarnya. Cacat mempengaruhi banyak jenis solusi "pintar" yang melibatkan nonces acak dan enkripsi simetris dan yang lainnya. Ini adalah kelemahan yang kuat, dan akarnya terletak pada perbedaan besar dalam daya komputasi antara Eve dan Bob (sekarang, jika Bob juga memiliki komputer sebesar Eve, maka ia dapat menggunakan komputer yang lambat).fungsi hash melalui penggunaan banyak iterasi; itu kurang lebih tentang hashing kata sandi, dengan nomor telepon sebagai pengganti kata sandi; lihat bcrypt dan juga jawaban ini ).

Oleh karena itu, solusi yang tidak lemah harus melibatkan keacakan pada bagian Bob: Bob harus melempar koin atau melempar dadu berulang kali, dan menyuntikkan nilai-nilai dalam perhitungannya. Selain itu, Hawa tidak boleh bisa mengungkap apa yang dilakukan Bob, tetapi Alice harus mampu, sehingga beberapa informasi secara rahasia disampaikan dari Bob ke Alice. Ini disebut enkripsi asimetris atau, setidaknya, perjanjian kunci asimetris. Algoritma paling sederhana dari kelas itu untuk menghitung, tetapi masih cukup aman, kemudian RSA dengan padding PKCS # 1 v1.5 . RSA dapat menggunakan sebagai eksponen publik. Jadi protokolnya demikian:e=3

  • Alice menghasilkan bilangan bulat besar mana dan adalah bilangan bulat utama yang berukuran sama, sehingga ukuran cukup untuk memastikan keamanan (yaitu setidaknya 1024 bit, pada 2012). Juga, Alice harus mengatur agar dan tidak menjadi kelipatan dari 3.p q n p - 1 q - 1n=pqpqnp1q1

  • Alice menulis di kartu.n

  • Bob pertama bantalan nomor teleponnya ke urutan byte selama , seperti yang dijelaskan oleh PKCS # 1 (berarti ini: 00 02 xx xx ... xx 00 bb bb .. bb, di mana 'bb' adalah byte sepuluh yang encode nomor telepon, dan 'xx' adalah nilai byte non-nol acak, untuk total panjang 128 byte jika adalah bilangan bulat 1024-bit).nnn

  • Bob menginterpretasikan urutan byte-nya sebagai nilai integer besar (pengkodean big-endian) dan menghitung (jadi itu adalah beberapa perkalian dengan bilangan bulat yang sangat besar, kemudian pembagian, hasilnya menjadi sisa divisi). Itu masih bisa dilakukan dengan tangan (tapi, di sana lagi, itu mungkin akan mengambil bagian yang lebih baik dari sehari). Hasilnya adalah apa yang Bob kirim kembali ke Alice.m 3 m o d nmm3 mod n

  • Alice menggunakan pengetahuannya tentang dan untuk memulihkan dari dikirim oleh Bob. Halaman Wikipedia di RSA memiliki beberapa penjelasan yang cukup jelas tentang proses itu. Setelah Alice memiliki , ia dapat menghapus padding ('xx' adalah non-nol, sehingga byte 'bb' pertama dapat ditemukan dengan jelas) dan ia kemudian memiliki nomor telepon, yang dapat ia bandingkan dengan yang ia miliki.q m m 3 m o d n mpqmm3 mod nm

Perhitungan Alice akan membutuhkan komputer (apa yang dilakukan komputer selalu dasar dan dapat dilakukan dengan tangan, tetapi komputer sangat cepat melakukannya, sehingga "bisa dilakukan" mungkin memerlukan waktu terlalu banyak untuk dilakukan dalam praktik; dekripsi RSA dengan tangan akan membutuhkan banyak minggu).

(Sebenarnya kita bisa memiliki perhitungan tangan yang lebih cepat dengan menggunakan enkripsi McEliece , tetapi kemudian kunci publik - apa yang ditulis Alice pada kartu - akan sangat besar, dan kartu tidak akan melakukannya; Eve harus membawa buku lengkap digit.)


1
Hanya komentar singkat, kelemahan lain dalam protokol pertama (Alice mengatakan "kirimi saya nomor telepon") adalah rentan terhadap serangan replay. Jika Anda menerapkan ini di dunia nyata, Alice harus mengirim string acak (disebut "nonce") yang hash bersama dengan nomor telepon.
Nama samaran

1
Anda mengatakan bahwa "apa saja berjalan" jika Eve dapat mengubah pesan, tetapi ini tidak selalu menjadi penyebab yang hilang. Menggunakan RSA, kami sebenarnya dapat melindungi pesan terhadap serangan MITM. Kirim pertanyaan: "Apakah Anda memiliki nomor telepon saya?", Ditambah kunci publik Anda, ditambah tanda tangan (pesan + nomor telepon Anda) yang ditandatangani dengan kunci pribadi Anda. Jika Eve mencoba mengubah pesan (ubah kunci publik ke miliknya), dia tidak akan dapat membuat tanda tangan yang valid karena dia tidak tahu nomor teleponmu.
stevendesu

15

Sepertinya aplikasi klasik Public Key Cryptosystem seperti RSA .

Anda mengirim kunci publik Anda bersama, BoB mengenkripsi nomor telepon Anda dari daftar kontaknya dan mengirimkannya kembali kepada Anda.


5
Mengingat Bob dan Hawa, itu mungkin seharusnya menjadi ide kunci. Apakah praktis dalam konteks ini (pensil dan kertas)? Juga, saya berharap untuk sedikit lebih dari link ke artikel wikipedia dengan bendera "artikel ini perlu diedit".
Joe

@ Jo: Saya telah mengedit untuk memasukkan tautan lain. Saya cukup yakin Anda pernah mendengar tentang RSA. RSA mungkin cukup praktis, karena tulisan mengatakan 1000 digit seharusnya tidak memakan banyak waktu.
Aryabhata

14

Salah satu hal paling mendasar yang dapat Anda lakukan adalah pertukaran kunci Diffie-Hellman . Itu tidak mengharuskan Anda untuk membuat kunci yang diatur sebelum komunikasi dimulai karena bernegosiasi dengan cara yang pendengar tidak bisa mendapatkan kunci sendiri. Lihat artikel Wikipedia yang komprehensif untuk detailnya.

pgpggamodpa

  • gbmodpb
  • gabmodp

gamodpgbmodpgabmodp

Selama diimplementasikan dengan benar dan baik komunikator dan penyerang memiliki kekuatan perhitungan yang sama yang mereka miliki, ini aman.


2

Bob tidak perlu mengirim pesan apa pun yang dapat Anda dekripsi. Dia hanya harus membuktikan kepada Anda bahwa ia memiliki nomor telepon Anda. Oleh karena itu, Cryptographic Hash Functions , (enkripsi satu arah) menawarkan alternatif untuk cryptosystem kunci publik. SHA-2 saat ini adalah contoh populer dari fungsi tersebut.

Dalam strategi ini, Anda tidak perlu mendekripsi pesan Bob kembali kepada Anda. Anda memberi tahu Bob fungsi hash mana yang Anda ingin dia gunakan, misalnya "Bob, silakan gunakan SHA-2 untuk mengenkripsi nomor telepon saya dan minta Hawa menyerahkan hasilnya kembali kepada saya". Kemudian Anda menggunakan algoritma yang sama untuk mem-hash nomor telepon Anda, dan memeriksa apakah Anda mendapatkan hash yang sama dengan yang didapat Bob. Sangat tidak mungkin bahwa dua nomor telepon yang berbeda akan menghasilkan hash yang sama, sehingga Anda dapat menentukan apakah Bob memiliki nomor telepon yang benar atau tidak.

Jika Anda, Bob, dan Hawa tidak memiliki komputer yang tersedia untuk menghitung fungsi hash (atau melakukan serangan brute force), dimungkinkan untuk menggunakan fungsi hash yang mengorbankan beberapa keamanan terhadap serangan brute force tetapi jauh lebih mudah bagi Anda dan Bob menghitung.


Saya menulis jawaban yang sama! Sial. Saya tetap akan mempostingnya karena saya menghabiskan waktu untuk itu.
Gigili

@Gigili Saya berharap seseorang akan menulis jawaban ini, tetapi saya memutuskan ketika saya melihat bahwa belum ada yang menawarkan alternatif ini ... Saya masih mencari versi ramah pensil dan kertas. Sejujurnya, saya tidak ingin meminta teman saya untuk melakukan RSA atau SHA-2 dengan tangan.
Joe

Masalahnya adalah, setiap algoritma sederhana yang dapat dilakukan dengan tangan akan dienkripsi oleh Hawa.
Gigili

@Gigili maksudmu "didekripsi oleh Hawa"? Masalahnya sangat terbatas. Sepertinya harus ada hash satu arah yang lebih sederhana dari bilangan bulat 7 digit yang Hawa tidak bisa begitu saja membatalkannya untuk mendapatkan kembali nomor aslinya.
Joe

Ups, maksud saya didekripsi jelas.
Gigili

0

Solusi sederhana adalah:

Baik Alice dan Bob setuju pada warna yang sama. dan tidak masalah jika Hawa tahu itu, kita akan menyebutnya P. Katakanlah itu berwarna kuning. Sekarang, Alice dan Bob keduanya secara acak memilih warna pribadi, katakan "x". Alice memilih merah, dan Bob memilih biru. Sekarang mereka mencampurnya dengan P. Alice sekarang berwarna oranye, dan Bob berwarna hijau. Alice mengirim warna oranye ke Bob, dan Bob mengirim warna hijau ke Alice Eve sekarang tahu tentang kuning, oranye, dan hijau tetapi Alice juga tahu warna pribadinya merah, dan Bob tahu warna pribadinya biru, yang tidak diketahui orang lain. Alice dan Bob mengambil warna pribadi asli mereka dan menambahkannya ke warna yang baru saja mereka tukar. Sekarang, jika mereka mencampur warna pribadi asli mereka, merah dan biru, menjadi warna bersama, mereka berdua berakhir dengan warna yang sama, semacam coklat, atau merah bata.

Alih-alih mencampurkan warna, Anda bisa menggunakan sedemikian rupa sehingga p adalah bilangan prima yang besar, dan g adalah akar primitif p karena jika Anda melakukan untuk setiap x, hasilnya (angka antara nol dan p - 1) sama - sama cenderung salah satu dari itu, itu sebabnya ada akar primitif. jika p adalah bilangan prima 2n + 1 sehingga n juga bilangan prima, maka Anda tahu bahwa 2 adalah akar primitif p (yang berarti Anda tidak perlu repot menghitung akar primitif, yang agak sulit) dengan demikian rahasia bersama = untuk Bob, dan untuk Alice.gx(modp)A xgx(modp)B yAx(modp)By(modp)


Saya pikir Anda dapat menulis sesuatu seperti ini di kartu:

Jumlahnya kelipatan 3,5 dan 7 (misalnya).

Ada ( adalah jumlah digit) kemungkinan dan gagasan itu hanya akan membatalkan beberapa kemungkinan bagi orang yang telah mengetahui gagasan tentang itu. Jadi dekripsi oleh Hawa tidak akan terjadi. n(10)nn


Ini adalah narasi dari gambar yang ditemukan di artikel Wikipedia tentang pertukaran kunci Diffie-Hellmann . Anda setidaknya harus menyebutkan sumber Anda.
Raphael

@ Raphael: Saya sendiri tidak mengetahuinya, seseorang menjelaskannya kepada saya dan saya pikir itu ide yang bagus.
Gigili

0

Cukup minta Bob untuk mengalikan angka dengan 2 atau 3 atau apa pun dan ganti dengan nomor itu sendiri. Ini bisa dilakukan dengan tangan dan dapat dibalik jika jumlahnya diketahui. Tidak ada sha, rsa atau md5. Matematika sederhana.


3
Jawaban ini salah. Sederhana, bisa dilakukan dengan tangan, dan sama sekali tidak aman. Itu hanya tidak berfungsi. Hawa dapat memulihkan banyak informasi tentang nomor telepon dari ini.
DW

0

Kirim Bob kata sandi dienkripsi dengan nomor telepon Anda; jika dia mengirimi Anda kata kode kembali, Anda tahu ia memiliki nomor yang benar.

Kelemahannya adalah Eve dapat mensimulasikan Bob, jadi coba saja setiap nomor telepon sampai dia mendapatkan nomor yang memberikan beberapa kata sandi saat Bob kembali.

Jadi suruh Bob menambahkan nomor acak yang sangat besar ke codeword kemudian mengenkripsi sebelum mengirimnya kembali kepada Anda. Ini membuat ruang pencarian Eves sebesar yang Anda inginkan.


Ini sepertinya tidak benar. Jika Bob memiliki nomor yang salah, pertama-tama ia akan mendekripsi dan mendapatkan kata kode yang salah. Setelah itu ia menambahkan nomor acak ke codeword, dan mengenkripsi dengan kunci yang salah. Ketika pesan diterima dan didekripsi dengan kunci yang benar, segmen pertama dari pesan yang dipulihkan mungkin bisa menjadi kata sandi yang benar meskipun nomor yang Bob miliki salah.
InformedA

@randomA Anda hanya perlu membuat kata kode cukup lama sehingga kemungkinan itu terjadi sangat kecil sehingga Anda tidak peduli.
Ian Ringrose

Apa yang Anda katakan itu benar, tetapi solusi yang dipilih juga sangat bagus dalam masalah ini. Saya hanya akan tidak setuju dengan solusi yang dipilih pada bagian "sehingga beberapa informasi secara rahasia disampaikan dari Bob ke Alice". Jika seseorang menggunakan pesan padding yang cukup besar dan tidak mengandung simbol yang digunakan untuk mewakili nomor telepon, maka Bob dapat secara acak memasukkan nomor telepon ke dalamnya dan Alice dapat dengan mudah memulihkan nomor telepon dari pesan yang didekripsi tanpa mengetahui langkah-langkah acak yang diambil Bob ( tidak diperlukan informasi yang disampaikan secara rahasia dalam kasus ini).
InformedA

-1

Saya akan menulis sekitar 10 nomor telepon di kartu dan di antara mereka saya akan memastikan bahwa nomor saya akan datang di sebelah nomor Bob dan saya akan menyebutkan "Hei Bob, nomor saya di sebelah nomor Anda, harap verifikasi" :)


1
dengan asumsi saya tahu nomor bob dan malam tidak: P
everlasto

-1

Saya pikir pertanyaannya jauh lebih sederhana daripada yang semua orang pikirkan. Kami diharuskan memverifikasi bahwa nomor yang Bob miliki benar (atau memang benar, salah). Karena kita "memeriksa" apakah nomornya benar, dapat diasumsikan bahwa Bob sudah memiliki nomor Anda. Karena itu, Bob tidak perlu mengirim nomor Anda ke beberapa kode. Jawaban saya adalah, "Bob terkasih, tolong telepon nomorku. Terima kasih, Alice"


1
Pertanyaannya sudah secara eksplisit mengecualikan jawaban sepele ini.
David Richerby

-2

coba lakukan trik bermain seperti ini

solution1: jika angkanya 37 maka peta hash akan terlihat seperti ini

01 07

15 12

25 20

31 36

49 43

53 50

60 62

72 72

85 82

91 94

dan lakukan hal yang sama untuk 10 digit atau lebih untuk membingungkan: P

solution2: atau membuat polinomial di mana nomor Anda menjadi beberapa nomor unik lainnya

solusi3: tulis ini dalam huruf "dude call me"

solution4: menulis fungsi sedemikian rupa sehingga ia beroperasi pada setiap digit dan mengembalikan 0 kemudian ia mengirim solusi benar atau salah5: jika kedua ujungnya berbagi fungsi hash yang sama ... itu membuat hidup sangat mudah


Sama

yang perlu kita lakukan adalah memetakan ... 31 dalam huruf tebal berarti 3 ada di posisi 1 .... 72 berarti 7 ada di posisi 2 ... maaf jika itu tidak terlalu intuitif untuk dipahami
Ajay Reddy

Ini harus dijelaskan secara rinci dalam jawabannya. Tetapi, serius, jika itu skema pengkodean Anda, itu tidak sepenuhnya aman, bukan?
David Richerby

-2

Saya pikir kita bisa melakukan ini dengan menggunakan operasi dasar yang sedikit bijaksana atau dapat menyesuaikannya untuk kertas dan pensil. Jika jumlah alice adalah sebagai contoh: 663 maka dia bisa mengonversi angka menggunakan metodologi ini. Konversikan setiap digit ke representasi biner yang setara, katakan ini sebagai A 663-> 110 110 011 daripada membalikkan bit yang sesuai untuk setiap nomor individu, katakan ini sebagai B-> 011 011 110 Sekarang lakukan A dan B-> 010 010 010 Sekarang kirim nomor ini ke bob dan meminta untuk melakukan hal yang sama jika hasilnya datang sama memintanya untuk mengatakan ya atau tidak. Dalam hal ini Eve tidak akan dapat memecahkan kode angka dan ada kemungkinan yang sangat rendah untuk memiliki nomor yang berbeda mengakhiri representasi yang sama ini. Satu-satunya cara malam bisa menebak adalah dengan menulis semua kombinasi yang mungkin dan kemudian mencoba semuanya kecuali untuk memenuhi itu kita bisa lebih mempersulit ini dengan menggunakan shift kiri atau kanan dan menambahkan bit dummy.


Ini tidak berfungsi. Pertama, bit tengah dari setiap grup 3-bit tidak tersentuh. Kedua, bit pertama dan ketiga dari masing-masing kelompok pesan yang dikirimkan akan selalu sama, dan biasanya nol, yang akan mengarah pada banyak positif palsu. Ketiga, dan fatal, tiga bit hanya bisa mewakili delapan nilai, tetapi angka desimal dapat mengambil salah satu dari sepuluh nilai. Keempat, kalimat terakhir Anda pada dasarnya adalah, "Oh, dan jika itu tidak berhasil, cobalah sesuatu yang lebih kompleks." Seperti?
David Richerby

-3

Silakan hubungi saya (nama saya 1001001). Jika Anda tidak dapat menghubungi saya, tuliskan nomor telepon yang Anda miliki dan minta Eve mengembalikan saya.

Penjelasan: jika Bob mendapatkan # saya yang benar, dia dapat menghubungi saya maka saya tahu itu # benar; jika Bob tidak mendapatkan hak # saya, Eve tidak dapat membaca nomor telepon saya (yang benar) juga. Dengan cara ini, saya sudah memeriksa bahwa teman saya, Bob, memiliki nomor telepon yang benar atau tidak.


to everlasto: Eve dapat menghubungi Bob sehingga kemungkinan besar dia memiliki #. Karena itu, jika Anda bertanya "Hai Bob, nomor saya ada di sebelah nomor Anda, harap verifikasi", Eve akan tahu Anda #.
Pobol Wong

1
Pertanyaan itu secara eksplisit mengatakan bahwa Anda tidak bisa mengirimi Bob kartu ucapan "panggil aku". Dan Bob menulis nomor yang salah di kartu jika dia tidak bisa masuk tidak menambah apa pun.
David Richerby

Saya menulis program encode / decode LZW sebelumnya. Saya dapat meminta Bob untuk menggunakannya untuk mengirimkan # kode telepon saya kepada saya dan juga dapat menggunakannya untuk mengkodekan bagian telepon saya # yang benar kepadanya.
Pobol Wong

kepada David Richerby: pertanyaannya hanya menyebutkan "Anda tidak bisa menanyakannya secara langsung" yang berarti saya, 1001001, tidak dapat bertanya langsung kepada Bob, tetapi seharusnya dapat memintanya untuk memanggil saya dengan telepon # yang ia dapat.
Pobol Wong

Baca pertanyaan lebih hati-hati. "Catatan 2" dalam pertanyaan itu menolak solusi mengirim catatan yang meminta Bob menelepon Anda karena tidak menggunakan ilmu komputer apa pun.
David Richerby
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.