blog.area23.at - a simple url encoder/decoder
Labels
2025-04-04
Interoperable Serialization between C# Java and many other languages
2025-03-24
What is the sense of 2 virtual VPN network interfaces or 2 VPN gateways?
A friend asked me today, what is the sense of 2 virtual VPN network interfaces or 2 VPN gateways.
Classic VPN connecting business locations
All VPN traffic is routed through headquater location green
All over cloud provider VPN gateway
Today companies often uses a VPN cloud gateway from a cloud provider to route their traffic between different locations.
Advantage is, that the cloud provider might guarantee a 24/356 availibility and that huge cloud providers offer up to 32 backup gateways, if you need to route hurtig.
Disadvantage in that scenario is, that the cloud provider VPN gateway is same as the headquater in example before.
2025-02-09
Just let's crypt
Famous and well known crypt libraries
https://git.lysator.liu.se/nettle/nettle
https://www.cs.auckland.ac.nz/~pgut001/cryptlib/
https://gnupg.org/software/libgcrypt/
https://firefox-source-docs.mozilla.org/security/nss/index.html
https://nacl.cr.yp.to/box.html
NSA presents itself as a more official organization
https://github.com/NationalSecurityAgency
https://github.com/orgs/NationalSecurityAgency/repositories
http://nationalsecurityagency.github.io/
2025-01-24
cqrxs.eu will launch until 27nd march 2025
3DES, Blowfish, 2-Fish, 3-Fish, AES Golois fields, Camellia, Cast[56], Gost28147, Idea, RC[26], RC532, Seed, Serpent, Skipjack, Tea, Tnepres, XTea und einer eigenen sehrr schnellen, aber cryptographisch nicht so starken SymmCipher Variante "ZenMatrix".
I will implement a cqrxs.eu platform until February 21st 2025,
that includes a secure chat (can also be IPv6 endpoint 2 endpoint /
and secure one-time storage of codes and texts.
Encryption is done with an 8-fold AES with the following variants of AES:
3DES, Blowfish, 2-Fish, 3-Fish, AES Golois fields, Camellia, Cast[56], Gost28147, Idea, RC[26], RC532, Seed, Serpent, Skipjack, Tea, Tnepres, XTea and
CqrJd in C/C++ is [OPTIONAL] <= there'll be at least a skeleton
2024-12-05
IPv6 socket server in C under linux, C#, java
is same as a forking ipv6 server, but using clone(2) for posix threads instead of fork (copying entire process image).
currently only availible for linux / unix and gcc
client6.s and server6_clone.s can be compiled and linked with GNU make utility by using existing Makefile.
change directory to source and Makefile containing directory server6-clone.
- cd server6-clone/
- make clean
rm -f client6 client6.o server6_clone server6_clone.o
build client6
- make client6
ggcc "-Wimplicit-function-declaration" -o client6.o -c client6.c
client6.c: In function ‘ping’: client6.c:42:27: warning: embedded ‘\0’ in format [-Wformat-contains-nul] 42 | sprintf(inbuf, "%s\r\n\0", msg); | ^~ client6.c:49:16: warning: function returns address of local variable [-Wreturn-local-addr] 49 | return &outbuf[0]; | ^~~~~~~~~~ client6.c: In function ‘main’: client6.c:92:17: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration] 92 | close(sd); | ^~~~~ | pclose gcc "-Wimplicit-function-declaration" -o client6 client6.o
build server6
- make server6_clone
gcc "-Wimplicit-function-declaration" -o server6.o -c server6.c
gcc "-Wimplicit-function-declaration" -o server6 server6.o
- ./server6 "2600:1f18:7a3f:a700::6291" 7777
./server6 program started... server trys listening on address 2600:1f18:7a3f:a700::6291 port: 7777 ./server6: cannot clone(2), trying to fork(2)./server6: offset: 1024, pagesze_offet: 4095, pa_offset: 0, sockets: s_sd=3, c_sd=4 ./server6: cannot clone(2), trying to fork(2)./server6: client request handled after sending/receiving 136 bytes total. ./server6 closed client socket descriptor 4 now, exiting in 1 secondchild pid: 231095child pid 231095 exited, status=0, done=1 ^C zen@virginia:~/prog/chat-ipv6/c-server6$ sudo ./server6 "2600:1f18:7a3f:a700::6291" 7777 ./server6 program started... server trys listening on address 2600:1f18:7a3f:a700::6291 port: 7777 ./server6: offset: 1024, pagesze_offet: 4095, pa_offset: 0, sockets: s_sd=3, c_sd=4 ./server6: client request handled after sending/receiving 136 bytes total. child pid: 231102 child pid 231102 exited, status=0, done=1 ./server6: offset: 1024, pagesze_offet: 4095, pa_offset: 0, sockets: s_sd=3, c_sd=5 ./server6: client request handled after sending/receiving 135 bytes total. child pid: 231107 child pid 231107 exited, status=0, done=1
- winmake
winmake.bat > echo "building now EchoServer classes..." "building now EchoServer classes..." > javac EchoServer.java > echo "building now EchoClient class." "building now EchoClient class." > javac EchoClient.java > dir *.class Directory of C:\Users\heinr\source\chat-ipv6\java-server6 10/12/2024 03:40 3.188 EchoClient.class 10/12/2024 03:40 5.368 EchoServer.class 2 File(s) 8.556 bytes
- make all
zen@virginia:~/prog/chat-ipv6/java-server6$ make all rm -f *.class javac EchoServer.java javac EchoClient.java zen@virginia:~/prog/chat-ipv6/java-server6$ ls -al *.class -rw-r--r-- 1 zen mailers 3188 Dec 10 03:44 EchoClient.class -rw-r--r-- 1 zen mailers 5368 Dec 10 03:44 EchoServer.class zen@virginia:~/prog/chat-ipv6/java-server6$
- java EchoServer "172.31.20.156" "2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5" 7777
zen@paris:~/prog/chat-ipv6/java-server6$ java EchoServer "172.31.20.156" "2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5" 7777 server address set to 172.31.20.156 server address6 set to 2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5 Simple TCP Echo Server started ... Simple TCP Echo Server started ... EchoServer is listening on address 2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5 port 7777. EchoServer is listening on address 172.31.20.156 port 7777. Accepted connection to 2600:1f18:7a3f:a700:0:0:0:6291 (2600:1f18:7a3f:a700:0:0:0:6291) on port 58318. Receiving from socket: Finished, now sending back to socket: 2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5 => 2600:1f18:7a3f:a700:0:0:0:6291 uname -a : Linux ip-172-31-57-91 6.8.0-1019-aws #21-Ubuntu SMP Wed Nov 6 21:21:49 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux client socket close() Accepted connection to ec2-100-26-162-115.compute-1.amazonaws.com (100.26.162.115) on port 48304. Receiving from socket: Finished, now sending back to socket: 172.31.20.156 => ec2-100-26-162-115.compute-1.amazonaws.com/100.26.162.115 uname -a : Linux ip-172-31-57-91 6.8.0-1019-aws #21-Ubuntu SMP Wed Nov 6 21:21:49 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux client socket close()
- java EchoClient "2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5" 7777 "uname -a :
uname -a
"
zen@virginia:~/prog/chat-ipv6/java-server6$ java EchoClient "2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5" 7777 "uname -a : `uname -a` " Receiving: 2a05:d012:209:ee00:a8ba:d6c4:bd60:bab5 => 2600:1f18:7a3f:a700:0:0:0:6291 uname -a : Linux ip-172-31-57-91 6.8.0-1019-aws #21-Ubuntu SMP Wed Nov 6 21:21:49 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux finished zen@virginia:~/prog/chat-ipv6/java-server6$ java EchoClient "13.38.136.165" 7777 "uname -a : `uname -a` " Receiving: 172.31.20.156 => ec2-100-26-162-115.compute-1.amazonaws.com/100.26.162.115 uname -a : Linux ip-172-31-57-91 6.8.0-1019-aws #21-Ubuntu SMP Wed Nov 6 21:21:49 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux finished ^C
2024-11-24
SPRD PGD Watch via Alibaba & 2FAS Authenticator App
Kostete 48€ innerhalb China & HongKong, mit Zoll & EORI Nummer[1] alles korrekt verzollt für mich als Einzelunternehmer 70€-80€.
Telefon, SMS, WLAN, 4G Netz, Google Account, Maps GPS.
Die Kamera Auflösung ist etwas düftig und Bilder und Videos sind entsprechend unscharf.
Sehr viele Apps sind im Android AppStore play.google.com außerdem noch nicht auf WearOS, ich meine hier auf kleines Display und Usability (besser weniger DragNDrop und mehr touch bei sehr kleinen Displays) optimiert und portiert.
Manual zur Erstellung von WearOS Apps in Android Studio[2]:
Portieren auf WearOS ist relativ gut dokumentiert,
hier: https://developer.android.com/wear
und hier: https://developer.android.com/wear/gallery
GitHub Repository gibt es hier: https://github.com/twofas
Ist über Google Drive (Password geschützt) mit Google Account synchronisierbar auf allen Geräten, wo ich angemeldet bin.
Weiters können alle Tokens auch in eine Datei im Spezialformat (ebenfalls Password geschützt empfoholen) exportiert oder von der Spezialdatei in den 2FAS Authenticator importiert werden.
Welchen 2 Faktor Authenticator App verwendet ihr?
2024-09-19
Windows file Date.Created, Date.Modified on File Copy, Move & Write
File.Copy
File.Copy, no matter if made with Windows Explorer, command copy, xcopy or programs, that use File.Copy Windows Api call, creates a new file or overwrites an existing file, where
Created Date = now,
Last Modified Date = Last modified DateTime of original file
File.Move
File.Move, no matter if made with Windows Explorer, Command move or programs, that use File.Move Windows Api call, creates a new file or overwrites an existing file, where
Created Date = created DateTime of original file
Last Modified Date = Last modified DateTime of original file
File.Write
File Write, no matter, if Console Application, Windows Application or Windows Service or what ever, creates a new or overwrites an existing file, where
Created Date = now
Last Modified Date = now
Simple C# Program 'gscopy.exe' to demonstrate
https://github.com/heinrichelsigan/cmdcopy [ releases ]
https://pastebin.com/Mw64xbqk
2024-09-03
We urgently need big companies tax cuts in Austria to ensure millenium growth again
The tragedy of ATX
ATX is now currently 75% at the level of 2007 peek, before financial crisis 2008 (Lehman brothers bankruptcy and subprime mortage crisis).

After the Golden Millennium 2000 until 2007 there was streight growth,
were all big companies had full order books and were hired a lot!
Since of that growth after the golden millennium in Austria, many of my friends, acquaintances or ex-colleagues had good jobs at industry sector.
Later they were sometimes labeled as too unqualified, while they had a lot of working expirience in tech sector at big tech companies.
All tech companies in Austria growed a lot during this era, had a full order situation and a lot of different projects for many different customers in queue,
Many experts within the tech companies were overworked and came no longer came to work on the projects and issues, where their expert know-how was absolutely necessary and also brought the necessary innovation and added share holder value.
So the tech companies hired people to do the less productive, but currently constantly needed business and administrative work, often the exchanges with smaller partners or customers.
After the financial crisis in 2008, almost all large Austrian stock market companies never came up at the level of golden millenium era again. They had only a few new orders and no more the budget for bigger innovations without great US or Chinese tech partners oversea. Their cash flow came from old contracts and day-to-day business.
There was never again such a good growth phase as during the times of the golden millennium and the companies were only looking for highly qualified experts on an individual basis, but did not have to hire anyone due to too many orders and constant growth.
Misunderstandings arose because many people now noticed mistakes made by some of my friends and me, that I was never actually at the level of a top MIT or university of Berkeley california graduate or as good as tom@ibm.com or mike@google.com former at rainbow.
When I look at the case studies from the operating system exercise from 1995 and compare my work with that of Tom and Mike, it was clear for me and everyone else, that I (and many other people don't get at the unix OS Olymp) but at least I created some ghosts on walls. I don't envy Tom & Mike their talent or their hard work, but to say after 2 crises and 1 divorce, that I now have to reach Tom or Mike's level is very ridiculous of some people.
At least, improving advanced encryption standard with simple matrices and my currently project as one man company were very fine for the moment, and nobody needs everywhere the greatest top MIT experts for some less sophisticated implementations.
The tradegy is, that some good friend extra upskilled them selfs very well, with a US university Master degree and so on, but still don't have a permanent job and work only as projects freelancers from job to job!
Countermeasures against further stagnation
- Losses made by subsidiaries and foreign investments by companies could be fully written off from tax.
- The restructuring of the pension system and the investment of pensions in stocks promoted the boom of the stock market.
- Several myths existed, Karl Heinz Grasser was able to persuade a Swiss and an American major investor to invest heavily in the ATX. (look at the Target-2 balances, after July 2007, then you might see, what kind of foreign investors and what kind of Austrian investors never catched a falling knife after Lehmann Bro's and subprime marekt crisis trouble.=> Think, when it's about financial debts obligations, who would sell ATX real companies stocks? Banks, to get more liquidity? Find it out!)
In an era of growth, people get easier into jobs and usually stay there
2024-07-14
Fuzzy Logic: in memoriam Siegfried Gottwald † 20.9.2015
Siegfried Johannes Gottwald (* 30. 3. 1943 in Limbach; † 20. 9. 2015) war ein deutscher Mathematiker, Logiker und Wissenschaftshistoriker. Sein Hauptforschungsgebiet war Fuzzy Logic
https://www.researchgate.net/profile/Siegfried-Gottwald
Mein langjähriger Freund Bob (Robert Antonius Berezka) sah Anfang der 1990er in diesem Gebiet sehr großes Entwicklungspotential, das aber leider nicht genutzt wurde.
(1)
Potential für Fuzzy Logik ∃ in binärer Logik + Mengentheorie.
Binäre Fuzzy Logik
Trigger für Einschalten von Erneuerbaren Energie Mini- / Hobby- Kraftwerken, erst ab gewisser naturgegebener Eingangsleistung.
Windrad Hobby-/ Mini-Kraftwerk
- Windgeschwindigkeit < 4m/s
bitte keine Windenergie speichern oder einspeisen - Windgeschwindigkeit > 150m/s
Orkan; Windrad auf Durchlauf, keine Stromgewinnung über zu hohem Grenzwert
Solaranlage Hobby-/ Mini-Kraftwerk
- Sonnenstunden / Tag < ¾ Sonnenstunde im Winter
wir belasten unseren Wechselrichter besser nicht unnötig,
denn bei schwacher Eingangsleistung für < ¾h, wird kaum Wechselstrom Energie in einer relevanten Menge erzeugt werden können.
Fuzzy für unscharfe Mengen
Erfassung Erwerbsarbeit
- sowohl angestellt erwerbstätig,
- als auch selbstständig erwerbstätig, davon
a. als echter Kleinunternehmer mit soliden Auftragsarbeiten für KMU's
b. prekär als Kleinstunternehmer (eher mehr NGO community based project)/li> - beim AMS arbeitslos gemeldet.
Es gibt heute bereits mehr Menschen als früher, die weder als Dauerarbeitslose noch als fast durchgehend beschäftigt zuordenbar sind.
Wahlumfragen:
ÖVP | 24% | (scharf) | 22% | - | 30% | (fuzzy) | |
SPÖ | 20% | (scharf) | 18% | - | 24% | (fuzzy) | |
FPÖ | 25% | (scharf) | 23% | - | 30% | (fuzzy) | |
Grüne | 12% | (scharf) | 8% | - | 15% | (fuzzy) | |
Neos | 10% | (scharf) | 9% | - | 12% | (fuzzy) | |
KPÖ | 3% | (scharf) | 1% | - | 6% | (fuzzy) | |
Bier | 5% | (scharf) | 4% | - | 8% | (fuzzy) |
wie z.B. C/C++ wird noch lange weiter bestehen C bleibt primäre Sprache zur Hardware und Betriebssystem nahen Programmierung
Bei Win3.11 mit sauberen Win32 API (statt Win16 und Dos16) beginnt die Zukunft. Es stimmt, Dos16 und Win16 sind inzwischen wirklich Geschichte, aber Win32 API (seit 1993) bleibt weiter bestehen.
Intel, AMD x86, x64 Architektur wird sich gegenüber Sun Sparc, MIPS, Motorola 680x0 auch PowerPC PPC/MPC60x , DEC Alpha und anderen durchsetzen (es stimmte, sogar Apple verwendete irgendwann Intel für seine MacBooks)
if there is no huge sophisticated optimization in gcc or cross compile support in Micro$oft Visual Studio for a certain processor architecture => forget this architecture. When it become not so performant for all GNU or QT stuff, then think about, how effective will be the Java Runtime / SDK, .Net Runtime / SDK, how effective the build for script languages like perl, php, python, tcl.
I only believe in Intel, AMD, Arm, Micro$oft, Apple and the man with the Red Hat.
all other commerical Unix based systems (OS/2, AIX, HPUX, Solaris, Irix) were quiet good, but all specialized file systems like XFS, ZFS, brtfs are ported to Linux, forget processor architecture, if no sophisticated optimization in gcc.
2024-04-25
Making symmetric cipher encryption strong again [updated]
When students in the 2nd semester in year 1992 type on the laptop during the lecture or start talking, Professor Gerd Baron always repeated very loudly that's what's all about:
We have a universe here and
it's all about of the number of arrangements in a finite set.
Professor Gerd Baron of Mathematics modified math lecture for computer scientists, where he claimed graph theory and combinatorics and weighted models (for traveling salesmen or ip routing) to understand better things we will need later (like equal costs => multipath).
plain text ⟶ 3DES PBox → AES → 2blowfish ⟶ cipher text
cipher text ⟶ 2blowfish → AES → 3DES SBox ⟶ plain text
plain text ⟶ AES ⟶ 2blowfish ⟶ 3DES PBox (scrambled) ⟶ cipher text
cipher text ⟶ 3DES SBox(scrambled) → 2blowfish → AES ⟶ plain text
you also can remix it per good random numbers like
3DES = 0x1
AES = 0x2
2Fish = 0x4
Serpent = 0x8
So 0xBC for encryption would mean 0xCB for decryption
plain ⟶ (3DES→AES→Serpent) ⟶ (2Fish→Serpent) ⟶ encrypted
encrypted ⟶ (Serpent→2Fish) ⟶ (Serpent→AES→3DES) ⟶ plain
with 2 bytes strong keys (negoatiated randomized at handshake) you're quiet secure.
Github repository: github.com/heinrichelsigan/area23.at/
A simple matrix encryption algorithm by myself:
I found a simple matrix symmetric encryption algorithm, that works similiar to 3DES,
with NxN Matrix trans, after asking that question here on math.stackexchange.com/questions/4915786/
R3 ➝ R3: v(3) x M(3,3) = v(3) ⎡ 1 ⎤ ⎡ 0 1 0 ⎤ ⎡ 2 ⎤ ⎢ 2 ⎥ x ⎢ 0 0 1 ⎥ = ⎢ 3 ⎥ ⎣ 3 ⎦ ⎣ 1 0 0 ⎦ ⎣ 1 ⎦ The inverse matrix for reverse symmetric encryption would be: ⎡ 2 ⎤ ⎡ 0 0 1 ⎤ ⎡ 1 ⎤ ⎢ 3 ⎥ x ⎢ 1 0 0 ⎥ = ⎢ 2 ⎥ ⎣ 1 ⎦ ⎣ 0 1 0 ⎦ ⎣ 3 ⎦
More symmetric cipher algos are now availible!
Why I'm publishing this article?
2024-04-14
How to enable ipv6 (inet6) in AWS EC2 VPCs, Subnets, Network interfaces and instances
This is a very quick and walk through documentation, how to enable ipv6 addresses and ipv6 networking in AWS (Amazon Web Services) E2C instances.
Ensure that virtual hardware is enabled for ipv6
In this section, we check if VPC, Subnets, Routing Tables and Network Interfaces are ready for ipv6.
It's a walkthroigh in form of (examine, check, enable ipv6 <= if not already enabled).
2024-04-05
Great companies on alibaba with impressive solutions
Qingdao HenryD Wind Power Equipment Co., Ltd.
green renewable energyhttps://hldwtg.en.alibaba.com/
Helios Technology Co., Ltd.
green renewable energy
https://evhelios.en.alibaba.com/
Guangzhou Sary Electronics Co., Ltd.
Shanghai Pinnxun Electric Motor Co., Ltd.
https://pinnxun.en.alibaba.com/Fuchun Industry Development Company
Other subdomains:
2024-03-28
system library:BIO_connect:Connection refused:../crypto/bio/bio_sock2.c
system library:BIO_connect:Connection refused:../crypto/bio/bio_sock2.con executing
openssl s_client -starttls smtp -connect mail.area23.at:587when testing sendmail smtp tls with an Let's Encrypt SSL certificate.
If you got the same error message, ensure that
- sendmail is running (on mail server / relay host)
test it with init rc script
/etc/init.d/sendmail status
or simple by process listing tools, like
pstree | grep sendmaail
pidof sendmail-mta
ps fauxwww | grep sendmail
and network server socket is bound
netstat -avn 2>&1 |less
or fuser and your sendmail port
fuser -v -n tcp 25
or various variants of lsof, like
lsof -i TCP:25 - sendmail is well configured (on mail server / relay host)
this will take a little bit too long for that article
in my case it was a wrong IPv6 address in sendmail.mc
DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=2600:1f14:1d6d:f202:8d53:fc57:c45d:6590')dnl
- mail server is reachable from outside
test it with
telnet [mailserver] [port]
or brutal way with a network scanner, like nmap
nmap -p 25,465,587 [mailserver]
if mailserver is not reachable from outside,
then you must lookup on server and on client firewall rules, e.g.
iptables -t filter --list
iptables -6 -t filter --list
strace openssl s_client -starttls smtp -connect mail.area23.at:587