/g/ - Technology

Computers, Software, Technology

Posting Mode: Reply Return

Max message length: 5000


(used to delete files and postings)


  • Supported file types: GIF, JPG, PNG, WebM, OGG, and more
  • Max files: 5
  • Max file size: 50.00 MB
  • Read the global rules before you post, as well as the board rules found in the sticky.

11/26/20 Site maintenence on 11/29/2020 starting @ 3PM PST, expected downtime 24-48 hours.
08/28/20 Come and join our Matrix/IRC servers, the info can be found here.
02/09/20 /ausneets/ has been added!
11/23/19 Donations can now be made via PayPal, thank you for all of your support!
11/21/19 We have successfully migrated to LynxChan 2.3.0, to see all of the changes to 16chan, click here.

[Index] [Catalog] [Archive] [Bottom] [Refresh]

(206.36 KB 1193x578 hesenate.png)
Baofeng Radios Anonymous 10/02/2019 (Wed) 00:35:45 No. 210
With all the paranoia throughout SOME tech forums about Baofeng radios being banned in the US, there is an alternative...
(3.36 MB 2560x2558 baofeng-nationalism.png)
I stocked up Baofengs before the ban. My understanding is the regulations weren't specific to Baofeng, they applied to all models with similar functionality which means they include that one as well. Just because some chinaman is willing to ship something to you doesn't mean it's legal (c.f. gps jammers, cell phone jammers). AFAIK the main thing the jews don't like is being able to tune to any frequency you want instead of just the "approved" ones for transmitting, overall transmit power, and removable antennas. I'd still be interested in a review of that radio if you buy one.

Also declaring general Radio thread.
(454.64 KB 721x720 baofeng-nationalism.png)
sagepost for resized image
got myself a UV-5R III. I have no fucking clue how to use it or program it. I'm pretty sure I have to buy a programming cable for it and use some software called CHIRP, but my radio didn't come with a cable. it sure looks cool though.
(5.75 KB 196x48 CHIRP.png)

You should have bought two, anon. that way you can test them out, and give one to your friend (>implying) when you do outdoors stuff. I programmed my set to the 0.5W FRS band (fully legal) and took mine camping when I went up with my friends. VERY comfy, could leave one with the girls/slow hikers down at the river while the bros scaled the peaks. No cell service up in the backcountry, so it was like a quick little preview of what it's going to be like in the boogaloo.

I bought one of the $2 generic cables, it just worked on Linux. Apparently there's the usual unsigned drivers, download this spyware .exe, pledge allegiance to Israel etc mess on windows, but if you're using >windows in 2019 you should just sterilize yourself and go back to 4cuck. You can also cut up the headset and solder wires to a generic usb-to-serial device, but for $2 it wasn't worth the time and effort to do that. Anyways, CHIRP worked fine to program in the legal 0.5w FRS bands on mine no problem.

The other main thing I've done with mine is tune into the NOAA weather broadcasts. The one main thing I'm still missing as far as boogaloo communication prep is some form of off-grid electricity, so I can still charge it once somebody goes full SIEGE on the powerlines. Also want to look into how to get good performance with a disguised (stationary) antenna. Even your average run-of-the-mill Zogbot will probably be smart enough to know that a white goy with big antennas set up is up to no good.
Who cares? They can't listen to police frequencies in this day and age anyway. It's not like it's a police scanner. Who are you going to spy on? Truck drivers?

I'd only buy one if I went train hopping to attempt to avoid the bulls.
Who cares? They can't listen to police frequencies in this day and age anyway. It's not like it's a police scanner. Who are you going to spy on? Truck drivers?

I'd only buy one if I went train hopping to attempt to avoid the bulls.
(132.21 KB 1000x748 acoustic-coupler.jpg)
(78.71 KB 630x480 NetworkTopology-Mesh.svg.png)
(19.68 KB 600x510 yagi-pair.jpeg)
(20.75 KB 894x721 question.png)
>listening to police radio is the only reason to have a radio
These are wireless communication tools - that function across a distance - that require no infrastructure outside your control. If that isn't inherently interesting to you then you aren't paying enough attention.
(46.21 KB 550x550 comms.jpg)
Agreed. People seem to think that WhatsApp and Twitter are the only ways to communicate nowadays. What if the Internet is down? Radios work perfectly, 100W HF radio will go a long long way, and there's no easy way to block it.
How easy is it to set up those radios to transmit digital and encrypted communication?
If the Internet went down everyone would not care what the radio said as they were busy killing each other and themselves.

What would you want to talk about in such a scenario? Who could you trust (not to triangulate your position in a post apocalyptic scenario)?

If you can't hear the powers that be coming for you're you're just kidding yourself. Before encryption I'd have loved one. Just like a wifi router used to be cool and now isn't in this dystopia.

So I don't care. They just want to take down the possible communication of any revolting society, surprised they're still there, hams, as 9/11 was not exactly yesterday. That was all about stopping domestic terror to be perfectly clear. These are only useful for domestic terror role players all in all. They'd jam the lower signals in real life so you need THEIR signals, if shit hit the fan.
(1.13 MB 2272x1704 uhf-roof-antenna.jpg)
(118.31 KB 800x450 firefighter-radio.jpg)
(48.69 KB 500x500 fire-fighter-radio.jpg)
It's not easy to set up encrypted communications, and is currently illegal to do so (in the jewSA at least). Only zog is currently allowed to broadcast with encryption. It's to keep you safe goy. Those men in uniforms are there to help you, now stay still citizen.

"how easy is it to triangulate" - very easy to triangulate transmitters. Ham Jannies will even do it >for free to you with a moving porcupine rig if you try to join their secret chat club without registering your real name and address with the government. They call it a "fox hunt". Lengthy broadcasts( <1 second) make it easier to track down. It is far easier for an adversary to triangulate a 5 second voice message than it is to triangulate a ~100 ms burst that simply encodes "75521" .

>If the Internet went down everyone would not care what the radio said as they were busy killing each other and themselves.
It's not going to be an absolute free-for-all when the internet goes down. There are several different plausible scenarios, none of which involve every-single-man-knifing-his-immediate-household. You'll either be in a team (or you'll probably be dead), and a set of radios can help you communicate with that team when it's time to secure resources and a future for you and yours.

>They'd jam the lower signals in real life so you need THEIR signals, if shit hit the fan.
Yes, exactly. That's why you should own a radio that can be tuned to transmit on the ZOG minecraft frequencies, and exactly why they are starting to ban said useful radios. Extremely big brain nibbas can probably make their own radios from a big bin of transistors + passives, but a premade radio such as a cheap baofeng is much more approachable for medium brain nibbas.
(23.61 KB 500x375 r.jpg)
It's easy to setup, and encrypt communications. Even if the radio equipment wouldn't directly support encryption you can pre-encrypt the messages. Also using very short transmissions and a codebook will help enormously. Never transmit text, images, or anything lengthy.

But triangulation is true problem, that's why you'll need to be ready to move. And in case where you're expecting immediate kinetic response. Like mortars, artillery, cruise missiles or ground troops. You can remotely use the HF transmitters. Of course in that case you can expected very limited transmission time before you'll permanently lose the hardware.


You don't even need computers for encryption:
(64.69 KB 1472x486 pen-and-paper-cipher.png)
neat. see attachment.
any recommended good resources on encoding/decoding methods in the audio spectrum?
Any downside to blasting FRS/GMRS with 4 watts? Is it going to screw up bubble pack walkies?
(61.39 KB 548x726 2017-US-FRS-GRMS.png)

Well, it's not legal to transmit more than 0.5w/2w without a license, see pic for details. It won't break anything on the recieving equipment, and will give you more range. If some ranger confiscates your radio and reads out the settings/measures EIRP in a cage they can tell you're above the power limits you can get in trouble. In practice, I don't think you would be tracked down for this alone - they'd need to localize you first so they could run a rough calculation on your power rating distance reading & received power to back out your power at the antenna.
So basically don't scream "COCKS COCKS COCKS" to give a ham janny a reason to go after you in the first place and you should be fine.
Thanks. I have a mix of Baofengs and Motorola Talkabouts so I was wondering how they would handle it.
(156.70 KB 736x480 wc.jpg)
Way cool, thanks.
(488.73 KB 901x1378 1583005991165.png)
bumping this thread. hopefully you chads were smart enough to buy radios when they were cheap, legal, and not delivered covered in coof droplets. You should do research on the frequencies to use now, before the internet gets censored. Event 201 planning specifically includes planning for internet disruptions/censorship like the ones China just announced. If you wait until the internet's down it will be too late.
>>317 That's really cool, thanks. I implemented it if anyone wants it to help them practice this. Don't be put off by it looking tedious in section 3, read section 6 where he explains how to do it easily by hand. //Compile with: gcc lc4.c -o lc4 //Run with no arguments for help. //If you're going to use this other than to practice pen+paper crypto (you shouldn't, use gpg) then replace the rand() call with arc4random() and link with -lbsd. #include [orange]stdio.h> #include [orange]stdlib.h> #include [orange]string.h> #include [orange]time.h> char state[6][6], I, J; //char (e.g. a) to int (e.g. 10) char ctoi (char c) { if (c == '#') return 0; if (c == '_') return 1; if ((c >= '2') && (c [orange]= '9')) return c - '0'; if ((c >= 'a') && (c [orange]= 'z')) return (c - 'a') + 10; printf("ERROR: '%c' is not a permitted character.\n", c); exit(1); } //int (e.g. 10) to char (e.g. a) char itoc (char i) { if (i == 0) return '#'; if (i == 1) return '_'; if ((i >= 2) && (i [orange]= 9)) return i + '0'; if ((i >= 10) && (i [orange]= 35)) return (i - 10) + 'a'; printf("ERROR: '%c' is not a valid encoding of any character.\n", i); exit(1); } void print_state () { for (char i = 0; i [orange] 6; ++i) { for (char j = 0; j [orange] 6; ++j) printf("%c", itoc(state[i][j])); printf(" "); } printf("i=%d j=%d\n", I, J); } void init_state (const char* key) { for (char i = 0; i [orange]= 35; ++i) state[i/6][i%6] = ctoi(key[i]); I = 0; J = 0; printf(" init state: "); print_state(); } //c is unencoded (e.g. 'a' rather than 10) void find_where_char_appears (char c, char* row, char* col) { char c_enc = ctoi(c); for (char i = 0; i [orange] 6; ++i) for (char j = 0; j [orange] 6; ++j) if (state[i][j] == c_enc) { *row = i; *col = j; return; } printf("ERROR: Invalid state: Does not contain %c.\n", c); exit(1); } void right_rotate (char r, char* c, char x, char* y) { //rotate static char buf[6]; for (char col = 0; col [orange] 6; ++col) buf[col] = state[r][col?(col-1):5]; for (char col = 0; col [orange] 6; ++col) state[r][col] = buf[col]; //keep marker atop moved cell *c = (*c+1)%6; if (x == r) *y = (*y+1)%6; if (I == r) J = ( J+1)%6; } void down_rotate (char* r, char c, char* x, char y) { //rotate static char buf[6]; for (char row = 0; row [orange] 6; ++row) buf[row] = state[row?(row-1):5][y]; for (char row = 0; row [orange] 6; ++row) state[row][y] = buf[row]; //keep marker atop moved cell *x = (*x+1)%6; if (c == y) *r = (*r+1)%6; if (J == y) I = ( I+1)%6; } //the_char and the return value are unencoded (e.g. 'a' rather than 10) char encrypt_char (char the_char) { char r, c; find_where_char_appears(the_char, &r, &c); char x = (r + state[I][J]/6) % 6; char y = (c + state[I][J]%6) % 6; char c_encrypted_encoded = state[x][y]; right_rotate( r, &c, x, &y); down_rotate (&r, c, &x, y); I = (I + c_encrypted_encoded/6) % 6; J = (J + c_encrypted_encoded%6) % 6; printf("%c->%c, state: ", the_char, itoc(c_encrypted_encoded)); print_state(); return itoc(c_encrypted_encoded); } //pt and the return value are unencoded (e.g. "foo" rather than [15,24,24]) //return value must be free()d, and is nul-terminated char* encrypt_string (const char* pt) { size_t len = strlen(pt); char* ciphertext = malloc(len+1); ciphertext[len] = '\0'; for (char* ct = ciphertext; *pt; ++pt, ++ct) *ct = encrypt_char(*pt); return ciphertext; } //% doesn't behave as I wish for negatives char mod6 (char c) { c %= 6; return (c[orange]0) ? 6+c : c; } //the_char and the return value are unencoded (e.g. 'a' rather than 10) char decrypt_char (char the_char) { char the_char_encoded = ctoi(the_char); char x, y; find_where_char_appears(the_char, &x, &y); char r = mod6(x - state[I][J]/6); char c = mod6(y - state[I][J]%6); char c_decrypted_encoded = state[r][c]; right_rotate( r, &c, x, &y); down_rotate (&r, c, &x, y); I = (I + the_char_encoded/6) % 6; J = (J + the_char_encoded%6) % 6; printf("%c->%c, state: ", the_char, itoc(c_decrypted_encoded)); print_state(); return itoc(c_decrypted_encoded); } //pt and the return value are unencoded (e.g. "foo" rather than [15,24,24]) //return value must be free()d, and is nul-terminated char* decrypt_string (const char* ct) { size_t len = strlen(ct); char* plaintext = malloc(len+1); plaintext[len] = '\0'; for (char* pt = plaintext; *ct; ++pt, ++ct) *pt = decrypt_char(*ct); return plaintext; }
//*nonce will be assigned a pointer which must be free()d //return value must be free()d char* encrypt_message (const char* key, char** nonce, const char* signature, const char* plaintext) { //generate nonce size_t nonceSz = 6; *nonce = malloc(nonceSz+1); (*nonce)[nonceSz] = '\0'; for (int i = 0; i [orange] nonceSz; ++i) (*nonce)[i] = itoc(rand()%36); //encrypt init_state(key); free(encrypt_string(*nonce)); char* ct_msg = encrypt_string(plaintext); char* ct_sig = encrypt_string(signature); //append the signature ciphertext to the message ciphertext size_t msglen = strlen(ct_msg); size_t siglen = strlen(ct_sig); ct_msg = realloc(ct_msg, msglen+siglen+1); memcpy(ct_msg+msglen, ct_sig, siglen+1); free(ct_sig); return ct_msg; } //return value must be free()d char* decrypt_message (const char* key, const char* nonce, const char* signature, const char* ciphertext) { //decrypt init_state(key); free(encrypt_string(nonce)); char* plaintext = decrypt_string(ciphertext); //verify the signature char* sig = plaintext + (strlen(plaintext) - strlen(signature)); if (strcmp(sig, signature)) { printf("ERROR: Signature doesn't match.\n"); exit(1); } return plaintext; } int main (int argc, char** argv) { srand(time(NULL)); if ((argc != 4) && (argc != 5)) { printf("Usage:\n"\ " (encrypt) %s key sig msg\n"\ " (decrypt) %s key sig msg nonce\n"\ "The key and signature are secret and reusable (rekey after 46,000 messages).\n"\ "The signature doesn't match if the ciphertext is modified.\n"\ "The nonce and ciphertext are public, the nonce may not be reused.\n"\ "The alphabet is [#_23456789abcdefghijklmnopqrstuvwxyz].\n" "Keys are a permutation of the alphabet, selected uniformly at random. e.g. xv7ydq#opaj_39rzut8b45wcsgehmiknf26l.\n"\ "Signatures and messages are restricted to the alphabet, notably the alphabet does not contain upper case letters or spaces.\n"\ "Example: %s \"xv7ydq#opaj_39rzut8b45wcsgehmiknf26l\" \"#rubberducky\" \"this_is_a_test_of_lc4\"\n"\ "Example: %s \"xv7ydq#opaj_39rzut8b45wcsgehmiknf26l\" \"#rubberducky\" \"r3qicv_iypnlnywas3_qn#rwmtwlwhwuu\" \"bw6ib7\" \n"\ , argv[0], argv[0], argv[0], argv[0]); } else { char* key = argv[1]; char* sig = argv[2]; char* msg = argv[3]; if (argc == 4) { //encrypt char* nonce = NULL; char* ciphertext = encrypt_message(key, &nonce, sig, msg); printf("nonce: %s\n", nonce); printf("ciphertext: %s\n", ciphertext); free(nonce); free(ciphertext); } else if (argc == 5) { //decrypt char* nonce = argv[4]; char* plaintext = decrypt_message(key, nonce, sig, msg); printf("plaintext: %s\n", plaintext); free(plaintext); } } return 0; }
(553.44 KB 512x512 orange anger.gif)
whoops, forgot to write a key generator, and it's a permutation so it's a bit of a PITA without a literal bag of tiles, here: perl -e 'use List::Util qw(shuffle); print(shuffle(split //, "#_23456789abcdefghijklmnopqrstuvwxyz"), "\n");' No idea how good that shuffle is, I'd rewrite it or just use 36 shuffled slips of paper if I wanted a real key, but it's good enough to learn the cipher.
>>758 >replace the rand() call with arc4random() oof, that should be arc4random_uniform(36) since 36 isn't a power of two
(228.83 KB 1872x1872 all.jpg)
PS Here's some tiles you can print and use to generate keys and perform the algorithm itself. They're designed the same as the ones in the paper. Here's the script to generate this image if you want to tweak the design to look nicer. #!/usr/bin/perl my $n = 0; my $cmdTemplate = "convert -size 300x300 canvas:white -font helvetica -pointsize 210 -gravity north -draw \"text -30,10 'SYM'\" -pointsize 100 -gravity east -draw \"text 0,0 'MOD'\" -pointsize 100 -gravity south -draw \"text 0,0 'DIV'\" NUM.jpg"; for my $c (split //, "#_23456789abcdefghijklmnopqrstuvwxyz") { my $sym = $c; my $mod = $n % 6; my $div = int($n/6); my $cmd = $cmdTemplate; $cmd =~ s/SYM/$sym/; $cmd =~ s/MOD/$mod/; $cmd =~ s/DIV/$div/; $cmd =~ s/NUM/$n/; system($cmd); $n++; } system("rm -f all.jpg"); system("montage *jpg -geometry +6+6 all.jpg"); foreach $n (0...35) { system("rm ${n}.jpg"); }
>>763 God damn I need to remember to set a password so I can delete my posts. Here's a shorter version: #!/usr/bin/perl my $n = 0; my $cmdTemplate = "convert -size 300x300 canvas:white -font helvetica -pointsize 210 -gravity north -draw \"text -30,10 'SYM'\" -pointsize 100 -gravity east -draw \"text 0,0 'MOD'\" -pointsize 100 -gravity south -draw \"text 0,0 'DIV'\" NUM.jpg"; for my $c (split //, "#_23456789abcdefghijklmnopqrstuvwxyz") { my $cmd = $cmdTemplate; $cmd =~ s/SYM/$c/; $cmd =~ s/MOD/$n%6/; $cmd =~ s/DIV/int($n/6)/; $cmd =~ s/NUM/$n++/; system($cmd); } system("rm -f all.jpg"); system("montage *jpg -geometry +6+6 all.jpg"); foreach $n (0...35) { system("rm ${n}.jpg"); } Here's a pastebin: https://pastebin.com/iLAEgyx4 You'll need imagemagick installed.
(11.93 MB core.pdf)
For anyone concerned it looks complicated, the core is these two pages of extremely simple instructions, which are mostly pictures anyway. It is vastly easier to do if you print out >>763 I might put together a ~3 page guide on how to do this tomorrow.
>>765 >other posts nice work anon
(303.28 KB guide.pdf)
(235.10 KB 1275x1651 guide-1.png)
(272.49 KB 1275x1651 guide-2.png)
(208.87 KB 1275x1651 guide-3.png)
(228.79 KB 1872x1872 all.jpg)
Here's an easy 3-page guide to this cipher, I've just done it by hand to check my instructions and you'd memorize it by accident after encrypting a few short messages. Images included for the paranoid. The PDF also includes a page with the tiles, which I've just included directly in this post instead. This version has a nicer ordering which makes the origin of the numbers clear. LaTeX source if you want to improve the PDF: https://pastebin.com/x9i6nePX (it requires all.jpg, which is included in this post) I thought sliding the tiles around would be annoying since they're printed on cheap paper, but it turns out it's fine, at least on a glossy book cover. I recommend smush shuffling https://www.youtube.com/watch?v=AxJubaijQbI Here's the improved tile generator script, which puts them in a sane order (not that it matters): https://pastebin.com/PbgXdmpd >>766 Thanks
(303.29 KB guide.pdf)
Reworded encryption/1/a from "In that row, count to the right the number of tiles shown..." to "From that tile, count to the right the number of tiles shown...". Updated LaTeX source: https://pastebin.com/ENDijApN
(297.32 KB 1200x1500 wtfpl-strip.jpg)
I hereby licence lc4.c, build.sh, keygen.pl, and tilegen.pl under the WTFPLv2, and simultaneously under the following MIT-style licence. I hereby waive all rights to guide.tex, guide.pdf, and all.jpg via the CC0. ----- lc4.c, build.sh, keygen.pl, and tilegen.pl are licenced as follows ----- Copyright 2020 Anonymous 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. ----- lc4.c, build.sh, keygen.pl, and tilegen.pl are licenced as follows ----- DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar [orange][email protected]> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. ----- guide.tex, guide.pdf, and all.jpg are licenced under the CC0 ----- To the extent possible under law, Anonymous has waived all copyright and related or neighboring rights to guide.tex, guide.pdf, and all.jpg. This work is published from: United Kingdom. See: https://creativecommons.org/publicdomain/zero/1.0/legalcode
> listening on local ham boomers with my memefeng as preparation > literally every other talker has a gravel-like, flat affect voice like they're sick > three people in a row said (paraphrased) "YES i'm sick but I think it's strep throat/ the flu and not corona" >"even though I haven't been tested" day of the airwaves soon
(54.97 KB 569x569 dsys5.jpg)
>can't take the fucking license test cause some FAGGOTS locked my state down
>>286 >They can't listen to police frequencies in this day and age anyway. It's not like it's a police scanner. Who are you going to spy on? Truck drivers? Huh? I get the police frequencies on mine.
>>776 Got a recommended site to look up local police frequencies? I think my department around here is smart enough to encrypt their radios but you never know. What band/approx frequency range are your local transmissions on? I've got a RTLSDR sitting around and have been meaning to get started with it
>>777 https://www.radioreference.com/apps/db/ It's kind of boring now with the lock down, so there isn't anything on the channel I listen to. But normally there's chatter about shoplifting, and occasionally shots fired or so. But I live in a large city, so if you live somewhere that's like ~10,000 people and 2% nigger I'd imagine it's not going to be very interesting.


no cookies?