HTTP proxies themselves do not support encryption. However, you can connect to a proxy via TLS and use the HTTP CONNECT method to connect to the desired resource if the proxy supports it.
The CONNECT method creates an HTTP tunnel where a higher-level protocol (HTTP) transports a lower-level protocol (TCP). Such proxies can connect to any port, including using secure TLS/SSL protocols, hence they are called HTTPS proxies.
This way, only the connection request using the CONNECT method is sent over HTTP. After that, the server simply proxies the established TCP connection.
SOCKS proxies also do not support encryption. However, you can use SSH as a SOCKS server. To do this, you need to allocate a socket to listen to a port on the client side and perform dynamic port forwarding at the application level. SOCKS allows an application to specify the address and port of the remote server it wants to connect to. The connection to this port will each time be redirected through a secure channel. Both versions of SOCKS are supported: the fourth and the fifth. You can read more about how this works here (option -D for the SSH client).